12

需要帮助找出几个常见的 Github 工作流程。我来自 VS TFS 背景,请原谅我。

撤消挂起的更改

假设我已将 git 存储库克隆到本地文件系统。此时,项目的本地文件与远程存储库中的内容完全匹配。

然后我决定对代码进行一些更改,并更改几个文件的本地版本。在做了一些测试之后,我发现我想放弃我的本地更改并将本地文件恢复到它们在远程存储库中的状态。

如何撤消这些本地更改,将它们恢复到存储库中的当前版本?

提交所有更改

每当我在我的存储库克隆中修改本地文件的内容,或添加新文件并想要推送更改时,我都会发出“git add .”、“git commit”和我的评论,然后“git push”给我的主人。

但是,当我在本地删除存储库中跟踪的文件时,“git add”。不捕获 rm 更改。相反,我必须在“git commit”之前“git rm [filename]”来更新存储库。不过,我总是忘记这样做。

是否有一个 git 命令会“git add”。和“git rm”我在本地删除的任何文件,一步?在修改了本地文件并删除了几个文件之后,我想在“git commit”之前发出一个命令来捕获我的所有更改。

4

2 回答 2

24

如何撤消这些本地更改,将它们恢复到存储库中的当前版本?`

git reset --hard

(这会将您的索引和工作目录重置为 HEAD)

是否有一个 git 命令可以一步完成我在本地删除的所有文件git add .git rm

git add -u

(它不会添加新文件)

如果要添加新文件,删除rm'ed 文件,并对文件进行修改:

git add -A
于 2011-10-14T16:09:00.313 回答
3

您可以通过发出以下命令恢复到您上次的有效提交(即远程仓库的副本,在旅游示例中):

git reset --hard HEAD

此外,我建议阅读有用的http://progit.org/2011/07/11/reset.html页面,以更好地了解重置的工作原理和索引是什么,以及为什么 git add 和 git rm 是单独的命令。

于 2011-10-14T16:07:43.947 回答