我想获取存储库中的最新文件,并覆盖我在本地拥有的文件。我如何使用git客户端做到这一点?
如果你只想覆盖一个文件:
git fetch git checkout origin/master <filepath>
如果你想覆盖所有更改的文件:
git fetch git reset --hard origin/master
(这假设你正在本地处理master,并且你想要对原点的master进行更改——如果你在分支上,则将其替换。)
master
完全同步的任务很少:
git重置头——硬 Git clean -f Git拉源主
git重置头——硬
Git clean -f
Git拉源主
否则,我更喜欢的是,我可以用远程使用的最新版本创建一个新的分支:
git checkout origin/master -b <new branch name>
Origin是我的远程存储库引用,master是我考虑的分支名称。这些可能和你的不一样。
最简单的版本,假设你工作在你想要的文件所在的同一个分支上:
git checkout path/to/file。
git checkout path/to/file
我经常这样做,所以我已经将别名设置为gc='git checkout'。
gc='git checkout'
这招对我很管用:
git reset HEAD <filename>
我相信你要找的是“git restore”。
最简单的方法是在本地删除文件,然后对该文件执行git restore命令:
$ rm file.txt $ git restore file.txt
如果你想用特定的分支覆盖所有的本地更改,那么你可以这样做
git reset --hard origin/feature/branchname
特性/ branchname→是我的分支名称,我替换了我的所有本地更改
我打算把所有的变化从feature/branchname分支和提交到我正在工作的分支,我的分支的名称是'mybranch'。然后我首先替换我的本地更改,也就是我已经推送到我的分支mybranch,然后我必须将这个命令推送到我的分支。强制推送命令为
git push --force
它会把我从'feature/branchname'分支得到的任何更改推到'mybranch'。
在遇到这个问题后,我终于尝试了git checkout --force <branch>,它确实做到了。
git checkout --force <branch>