需要帮助找出Github的几个常见工作流程。我来自VS TFS背景,请原谅我。
撤消待处理的更改
假设我已将git存储库克隆到我的本地文件系统。此时,项目的本地文件与远程repoistory中的文件完全匹配。
然后我决定对代码进行一些更改,并更改几个文件的本地版本。在做了一些测试之后,我发现我想丢弃我的本地更改并将本地文件还原回远程repoistory中的内容。
如何撤消这些本地更改,将它们还原到存储库中的当前版本?
提交所有更改
每当我修改我的存储库克隆中的本地文件的内容,或添加新文件,并想要推送更改时,我发出“git add。”,“git commit”和我的评论,然后“git push”到我的主人。
但是,当我删除存储库中跟踪的本地文件时,“git add”。不捕获rm的变化。相反,我必须在“git commit”之前“git rm [filename]”来更新存储库。我总是忘记这样做。
是否有一个git命令将“git add”。和“git rm”我在本地删除的所有文件,一步到位?在修改本地文件并删除一对之后,我想发出一个命令,在我“git commit”之前捕获我的所有更改。
答案 0 :(得分:23)
如何撤消这些本地更改,将它们还原到存储库中的当前版本?“
git reset --hard
(这会将您的索引和工作目录重置为HEAD)
是否有一个git命令会
git add .
和git rm
我在本地删除的任何文件,只需一步?
git add -u
(它不会添加新文件)
如果您要添加新文件,请删除rm
个文件,并对文件进行修改:
git add -A
答案 1 :(得分:3)
您可以通过发出以下命令恢复到上一次有效提交(即巡回示例中远程仓库的副本):
git reset --hard HEAD
此外,我建议阅读有用的http://progit.org/2011/07/11/reset.html页面,以便更好地了解重置工作和索引的内容,以及为什么git add和git rm是单独的命令。