cari

Rumah  >  Soal Jawab  >  teks badan

github - Git 问题, 一个 master, 多个新功能分支, 怎样有序地合并和提交?

以前大多个是一个的使用 Git, 到 Github 上提交的场景, 对多人开发合并项目经验不多,
现在遇到的是在 Github 上存在主分支, 本地需要修改多个功能和 bug 等等,
我是按以前实习回来的同学提示, 在多个分支开发不同的功能, 然后合并提交..
合并和提交的顺序不是确定的, 因此不能简单直接用 merge 每次一个个叠加.
有时我用 rebase, 但有发现 commit 顺序不是时间顺序, 到线上被 merge 以后也不是非常清晰
于是我想问一下面对这样的场景, 用怎样的方式管理会更合适?

有在 Google, 但一些细节不清晰.. 比如 commit 显示顺序.. 还有再次被 merge 后的细节..

怪我咯怪我咯2801 hari yang lalu663

membalas semua(3)saya akan balas

  • 大家讲道理

    大家讲道理2017-04-21 11:20:40

    Git menyokong pelbagai jenis aliran kerja yang biasanya kami gunakan adalah ini Buat cawangan utama dari jauh dan buat cawangan berfungsi secara setempat. Aliran kerja harian adalah seperti berikut

    Pergi ke cawangan kerja anda sendiri


    $ git checkout work

    Kerja


    ....

    Serahkan perubahan kepada cawangan kerja


    $ git commit -a

    Kembali ke cawangan utama


    $ git checkout master

    Dapatkan pengubahsuaian jauh terkini, tiada konflik akan berlaku pada masa ini


    $ git pull

    Kembali ke cawangan kerja


    $ git checkout work

    Gunakan rebase untuk menggabungkan perubahan pada trunk dan selesaikan sebarang konflik pada masa ini


    $ git rebase master

    Kembali ke cawangan utama


    $ git checkout master

    Gabungkan pengubahsuaian cawangan kerja, dan tiada konflik akan berlaku pada masa ini.


    $ git merge work

    Komited pada batang jauh


    $ git push

    Kelebihan ini ialah sejarah pada batang jauh sentiasa linear. Semua orang menyelesaikan konflik di cawangan tempatan mereka dan tidak mencipta konflik pada batang.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-21 11:20:40

    Jawapan yang diberikan oleh rakan di atas adalah sangat baik saya akan menambah satu lagi maklumat di sini untuk rujukan poster. Ini ditulis oleh Saudara Ruan, [strategi pengurusan cawangan git](http://www.ruanyifeng.com/blog/2012/0...).

    balas
    0
  • 阿神

    阿神2017-04-21 11:20:40

    Anda boleh membangunkan bersama-sama di cawangan Apabila anda membuat perubahan, gunakan

    sebelum menyerahkan.
    git stash
    

    Dengan cara ini, semua pengubahsuaian tempatan dicache dalam timbunan, dan kemudian pengubahsuaian orang lain disegerakkan

    git pull --rebase
    

    Langkah seterusnya ialah mengembalikan perubahan anda kepada nod terkini

    git stash pop
    

    Kemudian gunakan git commit untuk menyerahkan, supaya versi cawangan akan terus berkembang dengan teratur, dan bukannya seperti mengait baju sejuk Anda boleh melihat perbandingan sebelum dan selepas kami menggunakan kaedah ini

    Sebelum

    :

    Selepas itu

    balas
    0
  • Batalbalas