Rumah  >  Soal Jawab  >  teks badan

git push如何至两个git仓库

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

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

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

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

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

PHP中文网PHP中文网2733 hari yang lalu790

membalas semua(7)saya akan balas

  • 某草草

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

    Setelah sekian lama, selepas penggunaan berterusan git, saya juga tahu kaedah tertentu.

    Anggapkan gudang a ialah gudang kegunaan akhir dan b ialah gudang keluaran. Cawangan semua adalah dev

    Sekarang saya akan membalas kepada diri saya sendiri:

    Langkah pertama ialah menambah gudang jauh
    git remote tambah origin1 git.a
    git remote tambah origin2 git.b

    Langkah kedua ialah memastikan tiada apa-apa yang berubah secara setempat, tarik alamat gudang jauh, dan kemudian pangkalan semula.
    git fetch origin1
    git rebase -i origin1/dev

    Jika ada konflik, selesaikan.

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

    selesai.

    balas
    0
  • 漂亮男人

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

    Malah, anda boleh mengosongkan fail permulaan dan menambah alamat gudang jauh lain ke .git/config setempat, seperti:
    [remote "all"]
    url = https://github .com /segment/test.git
    url = https://git.oschina.net/segment/test.git
    Operasi seterusnya adalah sama dan kod yang diserahkan akan diserahkan kepada dua gudang secara serentak .

    balas
    0
  • 阿神

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

    Saya belum mencuba dua repositori git, tetapi saya rasa ia berfungsi seperti ini:

    1.git remote tambah $C remote warehouse name $C remote warehouse url

    2. ambil ke C

    3. Gabungan setempat

    4.push $C nama gudang jauh $nama projek

    Rujukan: 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

    balas
    0
  • 漂亮男人

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

    Penyelesaian untuk menyimpan semua log dalam cawangan (diandaikan sebagai cawangan induk) sama:

    1. Tambah B pada senarai jauh git remote add jae git://xxxxx@xxxx.git
    2. Andaikan C telah menyegerakkan A dan menyelesaikan pengubahsuaian, maka anda perlu menyerahkan C kepada B. Pada masa ini, anda perlu memaksa penyerahan untuk mengelakkan masalah konflik tidak dapat diserahkan: git push jae master:master --paksa

    Selepas menolaknya ke atas, log C dan B akan konsisten, dan anda boleh meneruskan operasi

    Jika anda ingin memastikan semua cawangan konsisten, saya cadangkan anda hanya membuat projek baharu pada jae dan tolak C kepadanya

    Semoga ia membantu anda

    balas
    0
  • 伊谢尔伦

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

    Saya rasa sebelum menarik dari mana-mana repositori jauh,

    git simpanan

    Kemudian tarik, ubah suai, tambah, serahkan, tolak. Sekali lagi

    git simpanan pop

    Kemudian selesaikan konflik jika ada Jika tiada konflik, tarik terus kod dari gudang jauh yang lain, kemudian ubah suai, tambah, serahkan dan tolak langkah demi langkah.
    Semuanya berdasarkan tekaan Sila praktikkan sendiri jika anda khusus. Untuk rujukan sahaja.

    balas
    0
  • 天蓬老师

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

    Saya rasa anda sudah tahu cara menambah berbilang repositori jauh, jadi saya tidak akan membahasnya.

    Terus: Apabila C=A, di bawah C git push -f 'B远程仓库' '分支' Dengan cara ini, walaupun B akan bercanggah dengan A C, ia akan dipaksa untuk menimpa keadaan C. Jadi A=B=C. LOG akan konsisten selepas itu. Parameter -f bermaksud tolakan paksa.
    cuba sahaja

    balas
    0
  • 我想大声告诉你

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

    Hanya konfigurasikan gudang cermin
    1.git remote add --mirror=push --mirror=fetch repoName url
    2.git push repoName master

    balas
    0
  • Batalbalas