- , .
- ...?
Environ cette réaction a été avec moi après avoir reçu le premier pool de demandes d'investissement au cours de la première semaine de travail dans une grande entreprise. La raison de cette réaction est très simple - tous les clients / employeurs ne peuvent pas se permettre un luxe comme une grande équipe sur une seule plate-forme, en particulier le développement mobile. En raison de l'inutilité et de la possibilité d'une communication rapide dans son monde, toutes les choses que les grands maîtres utilisent dans leur domaine ne gagnent pas en pertinence dans les petites équipes. Autrement dit - pourquoi diable en ai-je besoin si nous avons déjà bien vécu et bien fait sans ça?
Après avoir déménagé dans une nouvelle entreprise, j'ai rencontré le même problème, mais de l'autre côté des barricades. Si vous n'avez pas compris ce qui sera discuté plus loin, c'est GIT, plus précisément, ses outils intégrés dans AndroidStudio et comment cela facilite notre travail.
J'essaierai d'ignorer les choses courantes: init VCS; nouvelle branche / renommer / pousser; rebaser / fusionner sur la branche; configuration des télécommandes, etc. J'essaierai d'attirer l'attention sur les éléments que, par peur de mon ignorance, j'ai évités pendant longtemps (et regrets).
Modifier la validation
Dans le cas où vous décidez de compléter vos modifications au dernier commit, vous devez utiliser la commande suivante:
//
git commit --ammend
//
git commit --ammend "New commit message"
Et vous pouvez accélérer le processus:

Modifier le message de validation
, 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 ( ). ?


:

En conclusion, je voudrais rappeler immédiatement l'éternel holivar sur le sujet: terminal ou éditeur GUI pour travailler avec VCS? C'est une question de goût. Il est clair que CLI GIT est un outil plus puissant pour des tâches spécifiques sans lui. Mais pour les tâches quotidiennes, le package d'utilitaires intégré pour travailler avec les systèmes de contrôle de version dans AS est juste un must have et réduira le temps de développement de plusieurs fois.
J'espère que vous avez trouvé quelque chose de nouveau dans cet article et que vous avez facilité votre routine de travail.