Je n'ai jamais pensé à cette question, et je pense qu'elle n'est pas facile à décrire, donc je ne l'ai jamais posée.
Par exemple, il y a le projet A et le projet B, et ils n'ont absolument aucun rapport.
Les projets A et B ont des entrepôts distants et des entrepôts locaux, représentés respectivement par remoA, locA, remoB et locB.
Question :
Dans des circonstances normales, locA est définitivement associé à remoA, et locB est associé à remoB, que cette association se fasse par clonage ou par git remote add (remote) (repoUrl). Supposons maintenant que les bibliothèques locales locA et locB existent déjà, mais que locB est dans un état nouvellement initialisé et est toujours une bibliothèque vide. En raison d'une erreur d'opération, git remote add origin (remoAUrl) a été exécuté.
git remote add originB (remoBUrl)
Si vous exécutez git pull, les codes de branche distante de remoA et remoB seront-ils fusionnés sur la branche principale locale ?
Si vous ne prévoyez pas de mettre
remoA
关联给locB
,那么到这里就还是错的。正确做法应该是git remote rm origin
然后git remote add origin (remoBUrl)
Bien sûr que non. Tout d’abord, je pense qu’il serait peut-être plus approprié de dire qu’une relation « associée » s’est établie, similaire à
git checkout -b --track xxx
这种感觉。其次,你添加了两个remote
,其中一个叫origin
,另一个叫originB
。但git
会优先使用origin
. Voir l'article suivant pour plus de détailsBien sûr que non. À moins que vous ne mettiez d'abord à jour le local vers l'une des succursales, puis que vous alliez dans
pull
l'autre succursale.git pull
不指定后续参数,默认就是git pull origin
。如果你在master
branch 上,默认也就是git pull origin master
.Bien sûr, cela peut changer en fonction de vos paramètres. Les conditions mentionnées ci-dessus ne sont que les conditions par défaut. Veuillez ouvrir
.git/config
文件看一看。命令行里输入cat .git/config
pour connaître la situation actuelle. Par exemple :Cela raconte
git
deux choses :Si vous êtes ici maintenant
master
branch 上,那么默认的remote
是origin
Si vous performez dans cette situation
git pull
,不带任何参数的那种,那么就相当于git pull origin master
Vous pouvez utiliser
git push -u newOrigin newBranch
来改,那现在git pull
就相当于git pull newOrigin newBranch
了。类似地,也可以
git config branch.master.remote newOrigin
然后git config branch.master.merge refs/heads/newBranch
. Le résultat est le même.