the two-tree git read-tree -um
adlı kullanıcıyı arıyor. Bir temel ağaç kullanır, (genellikle HEAD
beslersiniz), bir hedef ağaç ve (dolaylı olarak) dizin ve çalışma grubu kullanır. Davranışlarını anlatan tablo, benim anlayabilmem için zordu, bu yüzden benim için kendi hile formum var. Her halükarda, git checkout
uygular.
git read-tree -um H M # `I` is the (implicit) index, GIT_INDEX_FILE
Legend
H Original tree (usually HEAD:)
I Indexed tree
M Merge target tree
H->I \
H->M } status in second relative to first
I->M /
"-" file exists in neither
new exists only in second
deleted exists only in first
same exists in both, unchanged
changed exists in both, different
(blank) irrelevant or all cases not otherwise given
keep keep current version
fail whole command fails, no changes
delete delete worktree file
H->I H->M I->M
same keep
deleted changed fail
deleted deleted delete
deleted same delete unless Index empty, else use M
same keep
same changed worktree clean: use M; dirty: fail
same deleted worktree clean: deleted; dirty: fail
new - keep
new new changed fail
changed changed changed fail
changed deleted fail
note: "index empty" identifies an initial checkout, where HEAD has been
set but never loaded. git can't currently distinguish between a
delete-everything index and an initial-checkout index.
Herhangi bir nedenle neden 'git checkout ...' aramıyorsunuz? –
Evet, hayatını gereksiz yere zorlaştırma. – ThiefMaster
Nihayetinde, ödeme işleminin nasıl gerçekleştiği konusunda daha fazla kontrol sahibi olmak istiyorum. Örneğin, 'checkout' göz ardı edilen dosyaları dağıtabilir ve bunu yapmaktan kaçınmak istiyorum (arttırılmış güvenlik). Ama silinen dosyalara (azaltılmış güvenlik), herşeyi açmak için 'force 'kullanmadan, pave istiyorum. Bu, dosya ağaçlarını saklamak için kapakların altında git komutunu kullanan bir betiğin parçasıdır ve 'checkout' komutumun nasıl davranmasını istediğime çok yakındır, fakat tam olarak değil. Bu kontrolü elde etmek için başka bir yol varsa lütfen bana bildirin, ama ben oradan tweak olabilir sıhhi tesisat komutları ile 'checkout' alabileceğini düşündüm. –