cari

Rumah  >  Soal Jawab  >  teks badan

git remote add (remote) (repoUrl) digunakan untuk dua perpustakaan yang tidak berkaitan

Saya tidak pernah terfikir tentang soalan ini, dan saya rasa ia tidak mudah untuk digambarkan, jadi saya tidak pernah bertanya.
Sebagai contoh, terdapat projek A dan projek B, dan ia sama sekali tidak berkaitan.
Projek A dan B mempunyai gudang terpencil dan gudang tempatan, masing-masing diwakili oleh remoA, locA, remoB dan locB.

Soalan:
Dalam keadaan biasa, locA pasti dikaitkan dengan remoA, dan locB dikaitkan dengan remoB, tidak kira sama ada persatuan ini melalui pengklonan atau git remote add (remote) (repoUrl). Sekarang andaikan bahawa perpustakaan tempatan locA dan locB sudah wujud, tetapi locB berada dalam keadaan yang baru dimulakan dan masih merupakan pustaka kosong Kerana ralat operasi, git remote add origin (remoAUrl) telah dilaksanakan.

Saya menemui ralat ini kemudian dan melaksanakan

git remote add originB (remoBUrl)

Jadi adakah remoA/master dan remoB/master dipetakan ke locB/master pada masa ini?

Jika anda melaksanakan git pull, adakah kod cawangan jauh remoA dan remoB akan digabungkan pada cawangan induk tempatan?

伊谢尔伦伊谢尔伦2707 hari yang lalu1152

membalas semua(1)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-06-29 10:10:59

    Disebabkan ralat operasi, git remote add origin (remoAUrl) telah dilaksanakan. Kemudian saya menemui ralat ini dan melaksanakan git remote add originB (remoBUrl)

    Jika anda tidak bercadang untuk meletakkan remoA 关联给 locB,那么到这里就还是错的。正确做法应该是 git remote rm origin 然后 git remote add origin (remoBUrl)

    Jadi adakah kedua-dua remoA/master dan remoB/master dipetakan ke locB/master pada masa ini?

    Sudah tentu tidak. Pertama sekali, saya rasa mungkin lebih sesuai untuk mengatakan bahawa hubungan "bersekutu" telah diwujudkan, sama seperti git checkout -b --track xxx 这种感觉。其次,你添加了两个 remote,其中一个叫 origin,另一个叫 originB。但 git 会优先使用 origin. Lihat artikel seterusnya untuk butiran

    Jika anda melaksanakan git pull, adakah kod cawangan jauh remoA dan remoB akan digabungkan pada cawangan induk tempatan?

    Sudah tentu tidak. Melainkan anda mula-mula mengemas kini setempat ke salah satu cawangan, dan kemudian pergi ke pull cawangan lain.

    git pull 不指定后续参数,默认就是 git pull origin。如果你在 master branch 上,默认也就是 git pull origin master.

    Sudah tentu, ia mungkin berubah bergantung pada tetapan anda. Yang dinyatakan di atas hanyalah syarat lalai. Sila buka .git/config 文件看一看。命令行里输入 cat .git/config untuk situasi sebenar. Contohnya:

    [branch "master"]
        remote = origin
        merge = refs/heads/master

    Ini memberitahu git dua perkara:

    1. Jika anda berada di sini sekarang master branch 上,那么默认的 remoteorigin

    2. Jika anda beraksi dalam situasi ini git pull,不带任何参数的那种,那么就相当于 git pull origin master

    Boleh guna 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. Hasilnya adalah sama.

    balas
    0
  • Batalbalas