検索

ホームページ  >  に質問  >  本文

git push如何至两个git仓库

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

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

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

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

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

PHP中文网PHP中文网2796日前827

全員に返信(7)返信します

  • 某草草

    某草草2017-04-27 09:04:42

    久しぶりにgitを使い続けて、具体的な方法も分かりました。

    倉庫aを最終使用倉庫、bを放出倉庫とする。ブランチはすべて開発です

    今度は自分自身に返信します:

    最初のステップはリモート倉庫を追加することです
    gitリモート追加origin1 git.a
    gitリモート追加origin2 git.b

    2 番目のステップは、ローカルで何も変更されていないことを確認し、リモート ウェアハウスのアドレスを取得してからリベースすることです。
    git fetch 原点 1
    git rebase -i Origin1/dev

    競合がある場合は、それを解決します。

    git Push -f Origin1 dev
    git Push -f Origin2 dev

    完了

    返事
    0
  • 漂亮男人

    漂亮男人2017-04-27 09:04:42

    実際、次のように、初期化ファイルをクリアして、別のリモート ウェアハウスのアドレスをローカルの .git/config に追加できます:
    [remote "all"]
    url = https://github.com/segment/test .git
    url = https://git.oschina.net/segment/test.git
    以降の操作は同じです。コードを 2 つのウェアハウスに同時に送信します。

    返事
    0
  • 阿神

    阿神2017-04-27 09:04:42

    2 つの Git リポジトリの状況は試していませんが、私の推測では次のようになります。

    1.git リモート追加 $C リモート ウェアハウス名 $C リモート ウェアハウス URL

    2.C にフェッチ

    3. ローカルマージ

    4.push $C リモートウェアハウス名 $プロジェクト名

    参考: 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

    返事
    0
  • 漂亮男人

    漂亮男人2017-04-27 09:04:42

    ブランチ (マスター ブランチであると想定) のすべてのログを同じに保つ解決策:

    1. B をリモート リストに追加 git Remote add jae git://xxxxx@xxxx.git
    2. C が A を同期し、変更を完了したとします。次に、C を B に送信する必要があります。この時点で、送信できない競合の問題を回避するために、送信を強制する必要があります。 git Push jae master:master --力

    押し上げた後、CとBのログに一貫性があり、その後操作を続行できます

    すべてのブランチの一貫性を保ちたい場合は、jae で新しいプロジェクトを作成し、C を押し上げることをお勧めします

    お役に立てば幸いです

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-27 09:04:42

    リモート リポジトリからプルする前に、まず

    git スタッシュ

    その後、プル、変更、追加、送信、プッシュします。またまた

    git スタッシュポップ

    次に、競合がある場合は解決します。競合がない場合は、別のリモート ウェアハウスからコードを直接プルし、段階的に変更、追加、送信、プッシュします。
    すべて推測に基づいていますが、具体的な場合は自分で実践してください。参照のみ。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-27 09:04:42

    複数のリモート リポジトリを追加する方法はすでにご存知かと思いますので、ここでは説明しません。

    簡単に言うと、C=A の場合、C の下にあります git push -f 'B远程仓库' '分支' このように、B は A C と競合しますが、C の状態は強制的に上書きされます。 したがって、A=B=Cとなります。 その後、LOG は一貫したものになります。 -f パラメータは強制プッシュを意味します。
    試してみてください

    返事
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-27 09:04:42

    ミラー ウェアハウスを設定するだけです
    1.git リモート add --mirror=push --mirror=fetch repoName url
    2.git Push repoName master

    返事
    0
  • キャンセル返事