git - Bagaimana untuk memastikan projek Fork konsisten dengan sumbernya
淡淡烟草味
淡淡烟草味 2017-05-02 09:39:14
0
2
758

Latar belakangnya seperti ini. Saya telah menukar salinan dari gudang orang lain ke gudang saya sendiri, kemudian membuat cawangan baharu di gudang saya sendiri dan mengusahakannya
Sekarang batang gudang orang lain telah dikemas kini. Saya perlu mengemas kininya secara tempatan dan menyerahkannya Pergi ke gudang anda sendiri
dan baca kaedah di Internet, yang mengatakan untuk menggunakan git remote add name location
dan kemudian git pull name master
dan kemudian tolak. Pergi ke gudang anda sendiri
Tetapi ini berlaku apabila saya menolak Xiaobai, sila tanya

淡淡烟草味
淡淡烟草味

membalas semua(2)
淡淡烟草味

Jika anda ingin mengemas kini cawangan induk garpu anda, anda hendaklah git checkout master dahulu, dan kemudian tarik. Dengan cara ini, anda boleh menolak ke origin master selepas menarik.

Jika anda hanya mahu mengemas kini wuninghan.bancawangan semasa anda:

  1. Jika pengubahsuaian semasa anda masih belum dilakukan, maka git stash dahulu. Jika ia telah dilakukan, teruskan ke langkah seterusnya. Pada masa ini, anda boleh menggunakan git status untuk menyemak sama ada terdapat kod dalam Kawasan Pementasan.

  2. Langkah ini boleh dilakukan dalam pelbagai cara Kebiasaan saya ialah bermula dengan git fetch --all dan kemudian git rebase ruoxue/master. Sudah tentu, anda juga boleh terus git pull --rebase, atas sebab yang sama.

  3. Jika anda menyimpan pada langkah pertama, maka kali ini git stash apply stash@{0} (Secara teorinya adalah 0, jika anda melakukan simpanan di atas)

Jika terdapat konflik dalam langkah kedua, uruskan sahaja.

PHPzhong

Ambil vuejs-templates/webpack sebagai contoh, kerana saya menolak templat projek vue ini untuk membuat perubahan

Seterusnya, saya rasa projek ini mempunyai ciri khasnya sendiri, cawangan utamanya bukan master, tetapi dist, dan alat pemuatan templat vue-cli akan memuat turun fail di bawah cawangan dist sebagai projek. templat secara lalai.

Ini mempunyai situasi berikut

  • Untuk kemudahan, lebih baik anda membuat perubahan terus pada dist, supaya anda boleh menaip lebih sedikit perkataan menggunakan vue-cli

  • membuat perubahan kepada dist kerana keperluan saya sendiri, saya tidak mahu menyerahkan pr kepada original repo, tetapi saya juga mahu mempunyai cawangan untuk memastikannya konsisten dengan original repo , dan juga pernah menyerahkan pr

Saya akan membuat dist cawangan baru track-1 berdasarkan cawangan
selepas garpu Langkah-langkah khusus adalah seperti berikut

# 创建track-1分支
git checkout -b track-1 dist

# 添加origin repo remote
git remote add original https://github.com/vuejs-templates/webpack.git

# ....这里是开发时间...
# 1.对dist做自己的改动,同时origin repo有更新,希望保持更新

# 把original所有数据拉下来
git fetch original

# 切回track-1分支
git checkout track-1

# 把original主分支rebase到track-1分支
git rebase original/dist

# 切换回fork的dist分支
git checkout dist

# 合并track-1分支的更新
# 这里没用rebase而是用merge,因为感觉这个用rebase比较繁琐,实际上应该用哪个我也不清楚
git merge track-1

# ...解决冲突等等...
# git push

# ....这里是开发时间...
# 2.对track-1做改动,希望提交pr给original repo

# 把改动提交,提交前需要确认分支为最新状态
# git fetch original
# git rebase original/dist
git push

# ...接下来就是上github进行操作...

# 假如已合并pr的话,在切回dist分支
git checkout dist
git merge track-1

Nampaknya masih agak menyusahkan, saya tidak tahu sama ada proses ini munasabah

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan