Toutes mes excuses si cela semble superflu car je sais qu'il y a pas mal de questions concernant Merge vs Rebase, mais il ne semble pas y en avoir qui insère également "Branch Default".
Vous êtes confronté à un cas où plusieurs personnes travaillent simultanément sur quelque chose (c'est-à-dire une application Android dans Android Studio). Quelle est la meilleure option pour mettre à jour le projet/extraire si quelqu'un insère dans la branche principale et que vous souhaitez extraire le nouveau maître de manière à ne pas écraser le travail sur lequel vous travaillez toujours et que vous devez encore valider et pousser à maîtriser? Android Studio clique sur "Fusionner" "Rebase" et "Branche par défaut" en cliquant sur "Mettre à jour le projet". De ce que cela ressemble, je voudrais faire "Rebase" (suivi de "Merge"?), Mais je ne suis pas tout à fait sûr.
Stashing
La clé ici est que vous avez un travail non engagé que vous souhaitez enregistrer. Avant d'essayer de fusionner quoi que ce soit, vous devez stocker vos modifications pour enregistrer vos modifications non validées et nettoyer votre répertoire de travail.
Courir git stash
pour cacher vos modifications. Vous devriez alors pouvoir extraire les modifications sans problème.
Après avoir tiré avec succès, vous pouvez faire un git stash apply
pour réappliquer les modifications que vous avez effectuées avant le pull.
Fusion et rebasement
Le stockage de vos modifications ne fonctionne que si vous avez uniquement non validé. Si à un moment donné vous avez validé mais que vous n'avez pas poussé, vous devrez soit rebaser, soit fusionner.
Cet article de StackOverflow contient de très bonnes informations sur les différences.
En général, la fusion est plus facile, mais certains pensent qu'elle "pollue" l'historique de git avec des commits de fusion.
Réinitialiser nécessite du travail supplémentaire, mais comme vous n'avez pas de commit de fusion, cela rendra la fusion invisible.
Encore une fois, dans votre cas, vous ne devriez pas avoir besoin de fusionner ou de rebaser. Il suffit de cacher, de tirer, puis d’appliquer la cachette et tout devrait bien se passer.
Selon IntelliJ IDEA documnetatition :
Type de mise à jour
git fetch ; git merge
ou git pull --no-rebase
.git fetch ; git rebase
ou git pull --rebase
.branch.<name>
section du .git/config
fichier de configuration.Nettoyer l'arbre de travail avant la mise à jour
Dans cette zone, spécifiez la méthode pour enregistrer vos modifications lors du nettoyage de votre arbre de travail avant la mise à jour. Les modifications seront restaurées une fois la mise à jour terminée. Les options disponibles sont:
Je ne trouvais pas la réponse à cette question (le flux de travail) dans aucun des documents de Google ... Voici donc mon expérience pratique d'utilisation de Android Studio et Git complètement à partir d'une interface utilisateur.
(Je vomis à l'idée de basculer entre la ligne de commande et IDE - cela signifie que le IDE fait défaut!)
AVERTISSEMENT
La fusion manuelle "Fusionner Révisions" UI est TERRIBLE . Une fois que vous l'essayez, vous verrez ce que je veux dire. Bonne chance pour que "Synchronize Scrolling" fonctionne réellement. J'espère sincèrement que cette interface utilisateur sera abordée dans les premières semaines de 2015.
Selon documentation :
Fusion : sélectionnez cette option pour exécuter fusion lors de la mise à jour. Cela équivaut à courir
git fetch
et alorsgit merge
, ougit pull --no-rebase
.
Rebase : sélectionnez cette option pour effectuer rebase pendant la mise à jour. Cela équivaut à courirgit fetch
et alorsgit rebase
, ou `git pull --rebase (tous les commits locaux seront placés au-dessus de la tête amont mise à jour).
Branche par défaut : sélectionnez cette option si vous souhaitez appliquer différentes stratégies de mise à jour pour différentes branches. Vous pouvez spécifier le type de mise à jour par défaut pour chaque branche dans le fichierbranch.<name>
section du.git/config
fichier de configuration.
Lire la suite ici
Mise à jour du projet Git avec Android terminal de studio
C'est ce que je voulais trouver la réponse de votre post. C'est pourquoi j'ai écrit cette réponse.