- , .
- ...?
Aproximadamente essa reação ocorreu comigo depois de receber o primeiro pool de solicitações de investimento na primeira semana de trabalho em uma grande empresa. O motivo dessa reação é muito simples - nem todo cliente / empregador pode se dar ao luxo de oferecer uma equipe grande em uma plataforma, especialmente o desenvolvimento móvel. Devido à inutilidade e à possibilidade de comunicação rápida em seu mundo, nem todas as coisas que grandes mestres usam em seu campo ganham relevância em equipes pequenas. Simplificando - por que diabos eu preciso se já vivemos bem e lidamos bem sem ele?
Depois de me mudar para uma nova empresa, encontrei o mesmo problema, mas do outro lado das barricadas. Se você ainda não descobriu o que será discutido, este é o GIT, mais precisamente, suas ferramentas integradas no AndroidStudio e como ele facilita nosso trabalho.
Vou tentar ignorar as coisas comuns: init VCS; nova ramificação / renomear / push; rebase / mesclar no ramo; controles remotos, etc, tentarei chamar a atenção para os elementos que, por medo da minha ignorância, evitei por muito tempo (e me arrependo).
Alterar confirmação
No caso em que você decida suplementar suas alterações até o último commit, você deve usar o seguinte comando:
//
git commit --ammend
//
git commit --ammend "New commit message"
E você pode acelerar o processo:

Editar mensagem de confirmação
, PR , , , :

Interactive rebase
. , N . , / .
, , … , .
, .
//
git cherry master -v
//
git cherry master | wc -l
GUI:

tools:

, :

e :

:

:

:
# Commands:
# p, pick = ( )
# r, reword = ,
# e, edit = , amend-( )
# s, squash =
# f, fixup = , ( )
, . ? , .

Force push .
Multiple remotes
, , , .

? 2 (, ), / :

Git blame
:

. , IssueNavigationLink
:
//
<PROJECT_ID>-<TASK-ID>: <COMMIT MESSAGE>
( , git-hooks — https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)
project/.idea/vcs.xml
:

:
<IssueNavigationLink>
<option name="issueRegexp" value="([A-Za-z]+\-)(\d+)" />
<option name="linkRegexp" value="https://github.com/IlyaPavlovskii/Android-Environments/issues/$2" />
</IssueNavigationLink>
ID.

Git cherry-pick
cherry!
, /, , . , , - , . , … , 1 ( ). ?


:

Concluindo, gostaria de recordar imediatamente o holivar eterno sobre o tema: terminal ou editor de GUI para trabalhar com o VCS? É uma questão de gosto. Está claro que o CLI GIT é uma ferramenta mais poderosa para tarefas específicas sem ela. Porém, para as tarefas diárias, o pacote de utilitários embutido para trabalhar com sistemas de controle de versão no AS é essencial e reduzirá o tempo de desenvolvimento várias vezes.
Espero que você tenha encontrado algo novo neste artigo e tenha ajudado a facilitar sua rotina de trabalho.