Git checkout:获得与SVN revert相同的行为

时间:2014-12-02 12:00:49

标签: git git-checkout

我注意到SVN还原的行为与GIT结帐方式完全相同......:

SVN案例: 如果我有一个SVN远程存储库,我可以在我的计算机上签出,并在本地对文件进行修改。当我这样做时,有人在服务器上的同一个文件上提交了新的更改。

现在我想在我的本地存储库中恢复我的更改。我做了

svn revert [file]

这样,当我检查出远程存储库时,这个文件的状态与我在计算机上的状态完全相同。

GIT案例 现在有了GIT。我克隆了一个远程存储库,对一个文件做了一些更改,有人推送了一些影响同一个文件的提交,我想这样做

git checkout -- file

这将为我提供由修改的文件的版本,前面提到过,而不是我在本用户故事开头时克隆的文件。

现在,我想我能做到:

git checkout [commit number of the remote version I cloned] -- file

但我觉得它很乏味/烦恼",知道我只是想将我的文件恢复到我的存储库的本地版本。

所以我的问题是: 有没有办法在我上次拉取远程存储库时专门将文件签出到我在本地存储库中的版本?类似的东西:

git checkout local -- file

? 提前感谢您的宝贵意见和评价。答案=)

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题是正确的,那么你需要记住的是,git被配置(通常)用于“主”分支到跟踪远程/上游主服务器。

您可能想要做的是在克隆存储库后立即创建一个本地分支:git checkout -b my_branch - 并在此处完成您的工作,因此它不受上游更改的影响,但这些更改仍将被提取到您的本地master分支。

然后,当您准备好时,您可以在方便时git rebase对当前主人进行更改。{/ p>