gpt4 book ai didi

git - 从 git 获取干净的文件副本

转载 作者:行者123 更新时间:2023-12-05 08:58:36 25 4
gpt4 key购买 nike

在 svn 中,有时我会删除一个本地文件,然后使用“svn update”来获得一个干净的副本。我怎样才能在 git 中做到这一点?git pull/fetch 没有用。我想出的唯一方法是使用 diff,这是失禁的。谢谢。我正在使用 tortoiseGit。

最佳答案

文件在 git 和 svn 中的暂存和提交方式不同。从 git 的角度来看,主要区别在于,使用 git 时,文件通过称为 index 的暂存区域进行版本控制,从那里它作为提交的一部分进入本地提交图 你的分支指向,当你将分支推送到远程服务器时,它会从那里传播到远程提交图

虽然承认“最新”有点误导,但为了简化一点,有四个“最新”文件版本:一个在工作树中,一个在索引中,一个在本地分支中,一个在远程分支。而且本地和远程分支不一定同步。因此,当您说您想要一个文件的干净副本时,您必须首先细化问题 - 然后自己回答您想要的是四个文件中的哪一个。

索引中的最新版本:

$ git checkout -- /path/to/file

来自本地分支的最新版本(也会丢弃索引中的文件):

$ git checkout HEAD -- /path/to/file

来自远程分支的最新版本(在本地机器上是最新的,可能是陈旧的):

$ git checkout origin/master -- /path/to/file

来自远程分支的最新版本(更新到最新的,禁止竞争条件 - 不陈旧):

$ git fetch
$ git checkout origin/master -- /path/to/file

来自远程分支的最新版本(都更新到最新,并与本地分支同步):

$ git pull
$ git checkout master -- /path/to/file

关于git - 从 git 获取干净的文件副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22282178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com