在這裏我做了什麼:從主git的日誌文件名--follow沒有顯示提交更改的文件
- 創建開發分支;
- 修改了幾個文件並提交了它們;
- 合併開發分支掌握
--no-commit
參數;在開發分支中修改的幾個文件上運行git reset --hard
因爲master分支只包含來自開發分支的幾個對象 - 即我已經部分地合併了開發變更; - 我已經承諾在主人的變化;
- 經過一段時間,主分支由其他開發人員更新,並更新我的開發分支我合併主分支到它。
我已經準備好了,我的開發對象我沒有承諾要掌握我以前的合併將被主文件覆蓋。但在git log --follow dev-modified-file.txt
的輸出中,我無法看到覆蓋我的開發變更的提交。
在我的開發分支上運行git log --follow dev-modified-file.txt
我可以看到需要進行開發修改的提交。但無法看到提交恢復該更改(實際上不存在此類提交),但我的工作樹包含dev-modified-file.txt
文件的主版本,儘管存在提交添加開發代碼的提交,但沒有提交刪除該代碼。
爲什麼?
那麼master分支的代碼是如何潛入我的開發分支而不留下任何痕跡?
P.S.如果我的描述不清楚,請在評論中提問,我會很樂意解釋和糾正這篇文章。
編輯:將我的主人合併到開發中後,我看不到master和development分支之間的區別(我省略的更改都沒有了!),我沒有看到commit在開發分支中負責!
我認爲這可能與合併策略有關......但是如何?你看,我的日誌在開發分支是這樣的:
- 我已經添加了對文件的更改 - 工作文件夾中的文件包含更改。
- 我已經將主分支合併到了開發中 - 儘管沒有任何責任,但我的編輯文件在主分支中變成了等量的許多提交到開發分支!
改變,沒有留下的痕跡消失在合併後我加入更改該文件!
當您看到沒有「no提交刪除該代碼「,或在開發分支上?即是否在'master'上沒有看到開發分支的合併更改,或者在開發分支上出現'master'的版本意外? – Christopher 2012-08-06 15:27:59
在開發分支上。開發分支是引入所有變更的地方。在合併到主人期間,我只部分應用了這些更改。而這些省略的變化僅在開發分支中。我沒有看到他們在主人身上 - 我沒有故意犯下這些事情。但是,在將我的主人合併到開發中後,我看不到master和development分支之間的區別(我省略的更改已經消失了!),但我沒有看到提交對此負責! – shytikov 2012-08-06 15:34:28
我敢打賭,'我的主人融入發展'承諾。試試'git diff〜1 ',看看它做了什麼改變。 –
Christopher
2012-08-06 15:47:55