【发布时间】:2016-05-17 04:17:31
【问题描述】:
所以我有一些更改的文件,其中一些我使用 Git Gui 暂存然后提交。
推送选定的文件后,Github 无法检测到我尚未提交的其他已更改文件。所以现在我的远程和本地不匹配。我现在为我的本地添加了更多更改。
现在我不知道如何将遥控器与本地匹配。我试过 git diff <local> <remote> 但它什么也没显示。
我也不能真正重置我的头,因为它会丢弃所有的更改,对吗?
【问题讨论】:
-
“在我推送选定的之后”:代词“一个”在这里指的是什么?你只能推送 commits,而不是文件,你可以通过告诉遥控器设置一个名称(通常是一个分支)指向某个 specific 提交,即你推送提交
a123456(通常按其名称,例如feature)并让遥控器将其分支feature设置为指向a123456。从您的问题中不清楚您承诺了什么,也不清楚您推动了什么。 -
哦,我的错。 git gui 中显示了未分级的更改。所以我选择了其中一些文件并阶段更改它们。然后提交并推送。然后在我重新打开 git gui 之后,未分级的更改都消失了,我的本地人认为远程与本地相同。更糟糕的是,从那以后我又添加了新的变化。这样就清楚了吗?
-
是的:进行提交会获取已暂存的所有内容(以及先前提交中的每个文件)并从中进行新的提交。我不使用 GUI,但大概您选择的任何文件都已暂存,因此在新提交中。然后推送推送提交,因此远程的提交现在与您的本地提交相同。这就是
git diff <local> <remote>什么都没有显示的原因:它们是一样的。当您的新更改准备就绪时,暂存并提交它们,现在比较本地和远程提交将显示差异。