git分支模型的疑问
漂亮男人
漂亮男人 2017-05-02 09:19:06
0
3
616

如上图的一个成功分支模型。

我的疑问就是,在其他一些辅助性分支merge到develop分支之前,develop分支有改变,那么辅助性分支应该merge develop分支,与develop分支保持同步,但是从图上并看不出这个动作。

如果其他辅助性分支需要实时同步develop分支,那么用merge --no-ff,还是直接merge或者rebase呢?

那么这样一来图形是不是会变乱?


这是我本地测试的情况,都用的merge --no-ff模式合并


目前又遇到一个问题是,同一个分支不同人clone到本地,做开发,然后在push的时候,偶尔会发生一个merge动作,大概是这样的,在本地git push 的时候,提示需要先pull,此时git pull会自动执行一个merge动作,不知道大家遇到过这个问题没?

还有多人开发的时候,大家是不是都自己创建一个branch分支开发,而不是直接在远程的分支上做开发,比如develop是个远程分支,那么多人开发的时候clone到本地,直接在develop上开发,还是git checkout -b local branch开发?
ps:不知道描述清楚没.

漂亮男人
漂亮男人

membalas semua(3)
大家讲道理

Jika saya diminta melakukannya, saya akan melakukannya.
Berbilang cawangan yang bercabang daripada membangunkan hanya bertukar kod melalui pembangunan dan tidak akan bergabung antara satu sama lain.

Apabila setiap cawangan menyegerakkan cawangan pembangunan, gunakan pilihan --rebase untuk menyegerakkan komitmen terkini pembangunan ke cawangan pembangunan, dan kemudian gabungkan semula cawangan pembangunan untuk membangunkan menggunakan pilihan --no-ff, dengan itu mengekalkan integriti cawangan tunggal.

Ty80

Ini ialah situasi ujian tempatan saya, menggunakan mod gabungan --no-ff untuk bergabung

巴扎黑

Adalah disyorkan untuk merujuk artikel ini yang saya baca pruf

http://fanyi.jobbole.com/2214/

Sebagai contoh, untuk cawangan hotfix, anda perlu mendaftar keluar ke cawangan yang dibangunkan dan bergabung pada penghujung

Cawangan Hotfix dibina daripada cawangan induk dan mesti digabungkan semula ke dalam cawangan pembangunan dan cawangan induk boleh dinamakan seperti ini: hotfix-*

Cawangan hotfix sangat serupa dengan cawangan keluaran pada tahap tertentu. Kedua-duanya bertujuan untuk mempersiapkan keluaran versi baharu, dan kedua-duanya tidak diketahui terlebih dahulu. Cawangan Hotfix adalah keperluan mendesak untuk menyelesaikan pepijat dalam produk berdasarkan persekitaran pengeluaran semasa dan mesti dibuat. Apabila versi produk tertentu mempunyai pepijat serius yang perlu diselesaikan segera, cawangan Hotfix perlu dibina daripada teg yang sepadan dengan versi pada cawangan induk, kerana teg ini menandakan versi produk

Buat cawangan hotfix

Cawangan Hotfix dicipta daripada cawangan induk. Sebagai contoh, produk dalam talian versi 1.2 semasa mempunyai masalah sistem disebabkan oleh pepijat pada bahagian pelayan. Tetapi tidak boleh dipercayai untuk membuat perubahan dalam cawangan yang dibangunkan, jadi kami perlu mencipta cawangan perbaikan terbaru dan mula menyelesaikan masalah:

$ git checkout -b hotfix-1.2.1 master
Switched to a new branch "hotfix-1.2.1"
$ ./bump-version.sh 1.2.1
Files modified successfully, version bumped to 1.2.1.
$ git commit -a -m "Bumped version number to 1.2.1"
[hotfix-1.2.1 41e61bb] Bumped version number to 1.2.1
1 files changed, 1 insertions(+), 1 deletions(-)

Jangan lupa untuk mengubah suai nombor versi selepas mencipta cawangan.

Kemudian selesaikan pepijat dan serahkannya sekali atau lebih.

$ git commit -m "Fixed severe production problem"
[hotfix-1.2.1 abbe5d6] Fixed severe production problem
5 files changed, 32 insertions(+), 17 deletions(-)

Tamatkan cawangan hotfix

Selepas menyelesaikan kerja, kod pepijat yang diselesaikan perlu digabungkan kembali ke cawangan induk, tetapi ia juga perlu digabungkan ke dalam cawangan pembangunan untuk memastikan pepijat telah diselesaikan dalam versi seterusnya. Ini seperti cawangan keluaran.

Mula-mula, gabungkan dan kemas kini cawangan induk, kemudian tandainya

$ git checkout master
Switched to branch 'master'
$ git merge --no-ff hotfix-1.2.1
Merge made by recursive.
(Summary of changes)
$ git tag -a 1.2.1

Nota: Anda boleh menggunakan parameter -s atau -u untuk menetapkan tandatangan teg untuk teg anda.

Seterusnya, gabungkan kod pembetulan pepijat ke dalam cawangan yang dibangunkan

$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff hotfix-1.2.1
Merge made by recursive.
(Summary of changes)

Mungkin terdapat beberapa pengecualian di sini Apabila cawangan keluaran wujud, cawangan hotfix perlu digabungkan ke dalam cawangan keluaran, bukan cawangan bangunkan. Apabila misi cawangan keluaran selesai, kod pembaikan pepijat yang digabungkan semula ke dalam cawangan keluaran akhirnya akan digabungkan ke dalam cawangan yang dibangunkan. (Apabila cawangan pembangunan perlu segera menyelesaikan pepijat ini dan tidak boleh menunggu sehingga akhir cawangan keluaran, anda boleh menggabungkan kod pembetulan pepijat ke dalam cawangan pembangunan dengan selamat. Ini juga mungkin).

Akhirnya padamkan cawangan sementara ini

$ git branch -d hotfix-1.2.1
Deleted branch hotfix-1.2.1 (was abbe5d6).
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!