我在存储库中进行了一些更改,并注册了一个提交(在本地)。然后我执行了这个:
$ git pull origin master
Run Code Online (Sandbox Code Playgroud)
我的本地提交与被拉的合并。现在我很后悔。我想获取远程分支主服务器上的最新版本,并获取本地提交(已合并)的信息。
我可以通过以下命令更改工作目录:
// the last commit on the remove branch master
$ git checkout 84acc42 .
Run Code Online (Sandbox Code Playgroud)
但是,如果我对其进行一些更改并将其推送,我想以前的更改仍然存在并且也将作为提交推送。因为该提交存在。
注意,$ git reset --hard这不会删除任何内容。我执行了该操作,但仍然看到了不需要的更改。
知道如何获取远程存储库(分支母版)上的最新版本并删除其他所有内容吗?我可以通过删除本地工作目录并从存储库中再次克隆来实现。但是我想知道是否还有另一种方法。
获取原点/主。
git fetch --all
Run Code Online (Sandbox Code Playgroud)
进行所有更改。因此,不会留下任何未跟踪的文件。
git add .
Run Code Online (Sandbox Code Playgroud)
然后,运行reset命令,
git reset origin/master --hard
Run Code Online (Sandbox Code Playgroud)
这将丢弃在分支中所做的所有更改,将是 origin/master 的精确副本。
| 归档时间: |
|
| 查看次数: |
1570 次 |
| 最近记录: |