git push如何至两个git仓库
PHP中文网
PHP中文网 2017-04-27 09:02:42
0
7
821

分别有仓库 A(github),B(JAE 的 git),本机为C。

A, B都进行了 README.md 的初始化,就是说,这个情况下,已经存在冲突了,log不一致。

先从仓库A获取下来,C 修改完毕提交,顺利提交至A,

此时 如何从 C 提交到B,需要进行多少操作,使得仓库记录 A 和 B 的log一致(后面一致即可)?

这个问题我尝试过,没解决。

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(7)
某草草

Après si longtemps, après une utilisation continue de git, je connais aussi la méthode spécifique.

Supposons que l'entrepôt a soit l'entrepôt d'utilisation finale et b soit l'entrepôt de sortie. Les branches sont toutes dev

Maintenant, je vais me répondre :

La première étape consiste à ajouter un entrepôt distant
git distant ajouter origin1 git.a
git distant ajouter origin2 git.b

La deuxième étape consiste à s'assurer que rien n'a changé localement, à extraire l'adresse de l'entrepôt distant, puis à rebaser.
git récupérer origin1
git rebase -i origin1/dev

S'il y a un conflit, résolvez-le.

git push -f origin1 dev
git push -f origin2 dev

fait.

漂亮男人

En fait, vous pouvez effacer les fichiers d'initialisation et ajouter l'adresse d'un autre entrepôt distant au .git/config local, tel que :
[remote "all"]
url = https://github .com /segment/test.git
url = https://git.oschina.net/segment/test.git
Les opérations ultérieures sont les mêmes et le code soumis sera soumis aux deux entrepôts simultanément .

阿神

Je n'ai pas essayé deux référentiels git, je suppose que ça peut être comme ça :

1.git à distance ajouter $C nom de l'entrepôt distant $C URL de l'entrepôt distant

2.fetch vers C

3. Fusion locale

4.push $C nom de l'entrepôt distant $nom du projet

Référence : http://www.git-scm.com/book/zh/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4 %BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8

漂亮男人

La solution pour conserver tous les logs dans une branche (supposée être la branche master) identique :

  1. Ajouter B à la liste distante git remote add jae git://xxxxx@xxxx.git
  2. Supposons que C ait synchronisé A et terminé la modification, vous devez alors soumettre C à B. À ce stade, vous devez forcer la soumission pour éviter le problème de conflit en ne pouvant pas soumettre : git push jae master:master --force

Après l'avoir poussé vers le haut, les logs de C et B seront cohérents, et vous pourrez continuer l'opération

Si vous souhaitez garder toutes les branches cohérentes, je vous suggère simplement de créer un nouveau projet sur jae et d'y pousser C

J'espère que cela vous aidera

伊谢尔伦

Je suppose qu'avant de tirer depuis n'importe quel référentiel distant,

git cachette

Puis tirez, modifiez, ajoutez, soumettez, poussez. Encore

git stash pop

Résolvez ensuite les conflits s'il y en a. S'il n'y a pas de conflits, extrayez directement le code d'un autre entrepôt distant, puis modifiez, ajoutez, soumettez et poussez étape par étape.
Tout est basé sur des suppositions. Veuillez vous entraîner vous-même si vous êtes précis. Pour référence seulement.

Peter_Zhu

Je pense que vous savez déjà comment ajouter plusieurs référentiels distants, donc je n'entrerai pas dans les détails.

Simple : Lorsque C=A, sous C git push -f 'B远程仓库' '分支' De cette façon, bien que B entre en conflit avec A C, il sera obligé d'écraser l'état de C. Donc A=B=C. Le LOG sera cohérent après cela. Le paramètre -f signifie poussée forcée.
essayez-le

我想大声告诉你

Configurez simplement l'entrepôt miroir
1.git remote add --mirror=push --mirror=fetch repoName url
2.git push repoName master

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal