我对文件做了很小的改动。
这是一行改变了以下内容:
@@ -1,3 +1,3 @@
{
- "cordova-cli": "5.2.0"
+ "cordova-cli": "5.4.1"
}
我做出了改变并做了一次拉动
git add taco.json
git commit -m "updated the cordova cli version"
git pull --rebase
现在当我做一个git日志时,我没有看到我的变化。其他人在另一次提交中做了完全相同的更改。 git是否认识到了这一点并取消了我的提交?
我仍然在git reflog
中看到它
我本来希望得到一个合并冲突,而不是让我的提交完全消失。
这是git log和git reflog的输出:
git log --oneline
d8cb5c3 removed upload from gulp task
0ed5d5b updated analytics codeanalytics
901f724 minor style changes to search buttons
git reflog
d8cb5c3 HEAD@{0}: rebase finished: returning to refs/heads/dev
d8cb5c3 HEAD@{1}: pull --rebase: checkout d8cb5c341c7b08d6a9b43d89198171596d0c4234
f931b4e HEAD@{2}: commit: updated cordova cli version
答案 0 :(得分:6)
如果您的提交与另一个提交完全一样并且不做任何更改(当然也没有冲突),那么是。 Git不会应用提交,因为它什么都不做。
尝试'cherry-pick'此提交,您将看到消息:
nothing to commit, working directory clean
The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:
git commit --allow-empty
在rebase期间,git不显示任何消息,只是放弃提交。
答案 1 :(得分:1)
冲突是一种情况,当同一行有不同的变化,但变化是相同的 - 没有冲突。
要在日志中进行提交,您必须编辑其他提交并进行更改,但由于它已经在上游 - 这不是一个好主意,因为历史重写涉及强制推送并可能导致丢失工作< / p>