Arasındaki fark `git birleştirme` nedir ve `git --no-ff`birleştirme?
gitk log
, ben kullanarak ikisi arasında bir fark nokta. Nasıl fark (git komutu veya araç ile) fark edebilirim?
CEVAP
Grafik bu soruya cevap
Kullanarak net açıklama ve grafiksel gösterim Here is a sitegit --no-ff birleştirme:
Bunu görene kadar, tamamen gıt ile kayboldum. Kullanarak--no-ffbiri öykü açıkça 17 ** üzerinde çalışmak için izin verir. (bu noktaları "" görüntüleme aracı) ağ Ve burada another great reference resimli. github link Bu gıt daha az tanıdık bir odak daha fazla başvuru övgü ilki güzel.
Benim gibi newbs için temel bilgiler
Eğer benim gibi, bir Git-guru my answer here açıklar taşıma silme dosyaları gıt izleme olmadan silme onlardan yerel dosya sistemi, hangi görünüyor kötü belgelenmiş ama genellikle olay. Başka bir çaylak ama durum hala benden kaçmaya yöneten getting current code.
Örnek İş Akışı
Web sitem için bir paket güncelledi ve notlarımı geri benim iş akışı görmek için gitmek zorunda kaldı; faydalı bu cevap için bir örnek eklemek düşündüm.
Git komutları benim iş akışı
git checkout -b contact-form
(do your work on "contact-form")
git status
git commit -am "updated form in contact module"
git checkout master
git merge --no-ff contact-form
git branch -d contact-form
git push origin master
Aşağıda:gerçek kullanımı, açıklamalar da dahil olmak üzere.
Not: makasla altında çıktı; gıt oldukça ayrıntılı.
$ git status
# On branch master
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: ecc/Desktop.php
# modified: ecc/Mobile.php
# deleted: ecc/ecc-config.php
# modified: ecc/readme.txt
# modified: ecc/test.php
# deleted: passthru-adapter.igs
# deleted: shop/mickey/index.php
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ecc/upgrade.php
# ecc/webgility-config.php
# ecc/webgility-config.php.bak
# ecc/webgility-magento.php
Dikkat edin yukarıdan 3 şey:
1) çıktı ECC paketin yükseltme, yeni dosyaların eklenmesi değişiklikleri görebilirsiniz.
2) Ayrıca dikkat edin iki dosya var (/ecc
klasör değil) bu değişiklik, bağımsız sildim. ecc
, cleanup
farklı bir şube daha sonra bu dosyaları yansıtmak için yapacağım' silme. bu dosya silme kafa karıştırıcı yerine
3) benim iş akışını takip etmedim! Ecc tekrar çalıştırmayı denerken git unuttum.
Her şey dahil git commit -am "updated ecc package"
ben normalde, ben sadece dosya eklemek istedim /ecc
klasöründe yapmaz. yerine aşağıda: Bu silinen dosyaları özel olarak git add
ama onlar zaten gıt takip ediliyordu çünkü, bu şube kaldırmak istiyorum tamamlama benim: bölüm değildi
$ git checkout -b ecc
$ git add ecc/*
$ git reset HEAD passthru-adapter.igs
$ git reset HEAD shop/mickey/index.php
Unstaged changes after reset:
M passthru-adapter.igs
M shop/mickey/index.php
$ git commit -m "Webgility ecc desktop connector files; integrates with Quickbooks"
$ git checkout master
D passthru-adapter.igs
D shop/mickey/index.php
Switched to branch 'master'
$ git merge --no-ff ecc
$ git branch -d ecc
Deleted branch ecc (was 98269a2).
$ git push origin master
Counting objects: 22, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (14/14), 59.00 KiB, done.
Total 14 (delta 10), reused 0 (delta 0)
To git@github.com:me/mywebsite.git
8a0d9ec..333eff5 master -> master
Yukarıdaki otomatikleştirme için komut dosyası
Bir gün içinde bu işlemi 10 kez kullanmış, toplu komut komutları çalıştırmak için yazmak için aldım, yukarıdaki adımları yapmak için neredeyse uygun git_update.sh <branch> <"commit message">
bir script yaptım. Bu komut için Here is the Gist source.
git commit -am
yerine "" bu komut. listesi git status
ile üretilen ve daha sonra bu yapıştırma değiştirilmiş dosyaları seçmek ediyorum Bu düzenlemeler onlarca yaptım ama farklı şube adları değişiklikleri grup yardım etmek istediği için geldi.
Git, squash birleştirme ve rebase aras...
SQL Server: HAÇ arasındaki fark TAM DI...
İnat arasındaki fark nedir() ve birleş...
Ve BİRLEŞTİRME İÇ arasındaki fark...
' 'git' ve 'git re...