O projeto UI5 abaixo já existe e um repositório no GitHub foi criado para ele.

Untitled

Precisaremos da URL do repositório para vincular no BAS:

Untitled

No terminal, execute o seguinte comando para inicializar um repositório local do Git:

**$ git init**
*Initialized empty Git repository in /home/user/projects/espelhodepontogestor/.git/*

Com o repositório local criado precisamos vincular com o repositório remoto criado no GitHub. Utilize o comando abaixo substituindo <server> pela URL copiada anteriormente:

**$ git remote add origin <server>**

Para verificar se o comando teve êxito na execução, execute o comando git remote -v e o resultado deve ser a URL que utilizou.

**$ git remote -v**
*origin  <https://github.com/adeo/LMBR-SAPBTP-FIORI-HCM-espelhodepontogestor.git> (fetch)
origin  <https://github.com/adeo/LMBR-SAPBTP-FIORI-HCM-espelhodepontogestor.git> (push)*

Agora que temos nossos repositórios vinculados, precisamos trazer o conteúdo do repositório remoto (GitHub) para dentro do repositório local (BAS). Para isso, utilize o comando git pull origin <branch> substituindo <branch> pelo nome da branch desejada, no caso utilizarei a master-dev.

**$ git pull origin master-dev**
*From <https://github.com/adeo/LMBR-SAPBTP-FIORI-HCM-espelhodepontogestor>
 * branch            master-dev -> FETCH_HEAD*

Por padrão estamos criando a branch initialVersion para o primeiro commit. Para isso use o comando git checkout -b initialVersion. Caso seja um atendimento de card do Jira, crie a branch com o nome do Card para facilitar o rastreio no futuro.

**$ git checkout -b initialVersion**
*Switched to a new branch 'initialVersion'*

O próximo passo é verificar o status da branch para validar se os diretórios e arquivos que queremos estão prontos para serem adicionados na área de preparação — ou staging area.

**$ git status**
*On branch initialVersion

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)

				.gitignore
        .vscode/
        mta.yaml
        package-lock.json
        package.json
        ui5-deploy.yaml
        ui5-local.yaml
        ui5-mock.yaml
        ui5.yaml
        webapp/
        xs-app.json
        xs-security.json

nothing added to commit but untracked files present (use "git add" to track)*

Na primeira linha podemos observar que a branch initialVersion foi criada e está selecionada: “On branch initialVersion”. Todos os arquivos estão destacados em vermelho, o que diz que ainda não estão na staging area e não serão afetados caso um commit seja realizado. E na última linha observe que o próprio Git dá a dica do próximo passo: “use ‘git add’ to track”.

Utilizaremos o comando git add . para adicionar todos os diretórios e arquivos para dentro da staging area. Caso queira adicionar um diretório ou arquivo específico, basta substituir o . pelo nome do arquivo desejado.

**$ git add .**
**$ git status**
*On branch initialVersion
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   .gitignore
        new file:   .vscode/launch.json
        modified:   README.md
        deleted:    ScreenShots/ScreenShot_001.png
        deleted:    ScreenShots/ScreenShot_002.png
        deleted:    ScreenShots/ScreenShot_003.png
        new file:   mta.yaml
        new file:   package-lock.json
        new file:   package.json
        new file:   screenshots/screenshot_1.png
        new file:   screenshots/screenshot_2.png
        new file:   screenshots/screenshot_3.png
        new file:   screenshots/screenshot_4.png
        new file:   screenshots/screenshot_5.png
        new file:   screenshots/screenshot_6.png
        new file:   screenshots/screenshot_7.png
        new file:   ui5-deploy.yaml
        new file:   ui5-local.yaml
        new file:   ui5-mock.yaml
        new file:   ui5.yaml
        new file:   webapp/Component.js
        new file:   webapp/controller/App.controller.js
        new file:   webapp/controller/BaseController.js
        new file:   webapp/controller/Detail.controller.js
        new file:   webapp/controller/DetailObjectNotFound.controller.js
        new file:   webapp/controller/DetailObjectNotFound.js
        new file:   webapp/controller/ErrorHandler.js
        new file:   webapp/controller/List.controller.js
        new file:   webapp/controller/ListSelector.js
        new file:   webapp/controller/Master.controller.js
        new file:   webapp/controller/NotFound.controller.js
        new file:   webapp/controller/PDF.controller.js
        new file:   webapp/css/style.css
        new file:   webapp/i18n/i18n.properties
        new file:   webapp/index.html
        new file:   webapp/localService/metadata.xml
        new file:   webapp/manifest.json
        new file:   webapp/model/formatter.js
        new file:   webapp/model/models.js
        new file:   webapp/test/flpSandbox.html
        new file:   webapp/test/flpSandbox.js
        new file:   webapp/test/initFlpSandbox.js
        new file:   webapp/test/integration/AllJourneys.js
        new file:   webapp/test/integration/FLPIntegrationJourney.js
        new file:   webapp/test/integration/ListJourney.js
        new file:   webapp/test/integration/NavigationJourney.js
        new file:   webapp/test/integration/arrangements/FLP.js
        new file:   webapp/test/integration/arrangements/Startup.js
        new file:   webapp/test/integration/opaTests.qunit.html
        new file:   webapp/test/integration/opaTests.qunit.js
        new file:   webapp/test/integration/pages/App.js
        new file:   webapp/test/integration/pages/Common.js
        new file:   webapp/test/integration/pages/Detail.js
        new file:   webapp/test/integration/pages/List.js
        new file:   webapp/test/testsuite.qunit.html
        new file:   webapp/test/testsuite.qunit.js
        new file:   webapp/test/unit/AllTests.js
        new file:   webapp/test/unit/controller/ListSelector.js
        new file:   webapp/test/unit/model/formatter.js
        new file:   webapp/test/unit/model/models.js
        new file:   webapp/test/unit/unitTests.qunit.html
        new file:   webapp/test/unit/unitTests.qunit.js
        new file:   webapp/utils/locate-reuse-libs.js
        new file:   webapp/view/App.view.xml
        new file:   webapp/view/Detail.view.xml
        new file:   webapp/view/DetailObjectNotFound.view.xml
        new file:   webapp/view/List.view.xml
        new file:   webapp/view/Master.view.xml
        new file:   webapp/view/NotFound.view.xml
        new file:   webapp/view/ObjectListItem.fragment.xml
        new file:   webapp/view/PDF.view.xml
        new file:   webapp/view/SignatureDialog.fragment.xml
        new file:   webapp/view/StandardListItem.fragment.xml
        new file:   webapp/view/ViewSettingsDialog.fragment.xml
        new file:   xs-app.json
        new file:   xs-security.json*

Os arquivos adicionados para a staging area agora estão destacados em verde. Agora basta adicionar estes arquivos à um commit e enviar as modificações ao repositório remoto com git push.