cari

Rumah  >  Soal Jawab  >  teks badan

git - Bagaimana untuk memastikan projek Fork konsisten dengan sumbernya

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

淡淡烟草味淡淡烟草味2781 hari yang lalu749

membalas semua(2)saya akan balas

  • 淡淡烟草味

    淡淡烟草味2017-05-02 09:41:14

    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.

    balas
    0
  • PHPz

    PHPz2017-05-02 09:41:14

    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

    balas
    0
  • Batalbalas