Com um repositório criado, devemos fazer um clone do repositório ao qual pretendemos fazer push das alterações.
NOTA: Convém fazer o clone do repositório no branch específico, assim não é preciso alterar o branch quando for feito commit e push.
Onde:
- $BRANCH É o nome do branch ao qual o clone deve ser feito. Como no projeto existem três branches: production, quality e development, vamos utilizar "develop" como esse valor porque a alteração não foi testada, portanto não deve estar em quality ou production.
- $USER É o nome do usuário (deve ter acesso ao repositório) que vai fazer o clone e o push. Como o nome do meu usuário na Cloud é guilherme-marcello, esse será o valor utilizado por mim.
- $PASS É a password do usuário (deve ter acesso ao repositório) que vai fazer o clone e o push. Uma vez que a password é a parte mais importantante da credencial, para o exemplo, vou utilizar ***.
Executar:
git clone --single-branch --branch $BRANCH https://$USER:$PASS@bitbucket.org/guilherme-marcello/cfqc-mobile-flutter-hackathon-ma.git
Deve, depois, fazer as alterações (no nosso caso, adicionar todos os ficheiros) na pasta localmente, o que, portanto, pode ser feito através do explorador de ficheiros ou pelo terminal. Após ter as alterações dentro do projeto, deve fazer um git status para verificar qual é o branch atual e se existem alterações para fazer commit:
~/cfqc-mobile-flutter-hackathon-ma$ git status
No ramo development
Your branch is up to date with 'origin/development'.
Arquivos não monitorados:
(utilize "git add <arquivo>..." para incluir o que será submetido)
android/
assets/
build/
ios/
lib/
pubspec.lock
pubspec.yaml
test/
web/
nada adicionado ao envio mas arquivos não registrados estão presentes (use "git add" to registrar)
Como podemos ver, estamos no branch development (pelo que não precisamos de alterar) e os ficheiros que adicionamos ao projeto localmente foram detetados pelo git. De modo a incluir todos os ficheiros adicionados, devemos executar:
~/cfqc-mobile-flutter-hackathon-ma$ git add .
~/cfqc-mobile-flutter-hackathon-ma$ git status
...
new file: build/app/intermediates/flutter/debug/flutter_assets/assets/inscricao.png
new file: build/app/intermediates/flutter/debug/flutter_assets/assets/location.png
new file: build/app/intermediates/flutter/debug/flutter_assets/assets/logo.png
new file: build/app/intermediates/flutter/debug/flutter_assets/assets/menu.png
new file: build/app/intermediates/flutter/debug/flutter_assets/assets/notify.png
new file: build/app/intermediates/flutter/debug/flutter_assets/assets/profilepic.png
new file: build/app/intermediates/flutter/debug/flutter_assets/assets/sports.png
new file: build/app/intermediates/flutter/debug/flutter_assets/assets/teams.png
new file: build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.otf
new file: build/app/intermediates/flutter/debug/flutter_assets/isolate_snapshot_data
new file: build/app/intermediates/flutter/debug/flutter_assets/kernel_blob.bin
new file: build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
...
Como adicionamos o projeto inteiro, temos imensos "new file" como output do git status. Para fazer commit das alterações (após adicionar) com uma mensagem, devemos executar:
~/cfqc-mobile-flutter-hackathon-ma$ git commit -m "Added all project files"
Agora podemos fazer o push das alterações para o branch development ao executar:
~/cfqc-mobile-flutter-hackathon-ma$ git push -u origin development
Enumerating objects: 1180, done.
Counting objects: 100% (1180/1180), done.
Delta compression using up to 4 threads
Compressing objects: 100% (932/932), done.
Writing objects: 100% (1179/1179), 166.45 MiB | 490.00 KiB/s, done.
Total 1179 (delta 538), reused 0 (delta 0)
remote: Resolving deltas: 100% (538/538), done.
remote:
remote: Create pull request for development:
remote: https://bitbucket.org/guilherme-marcello/cfqc-mobile-flutter-hackathon-ma/pull-requests/new?source=development&t=1
remote:
To https://bitbucket.org/guilherme-marcello/cfqc-mobile-flutter-hackathon-ma.git
001f8e5..4fc43ff development -> development
Branch 'development' set up to track remote branch 'development' from 'origin'.
Podemos verificar o nosso commit a partir do Bitbucket, dentro do projeto, em "Commits" onde podemos ver o histórico de commits e as modificações realizadas em cada commit por branch.
Ao clicar no id do commit, podemos ver outras informações do commit, como os ficheiros alterados: