axi*_*xis 12 git version-control repository
我已经下载了一个存储库
git clone <address>
Run Code Online (Sandbox Code Playgroud)
我已经做了一些修改并编辑了一些文件,现在我想丢弃所有内容,并确保我在磁盘上的内容只不过是代码库的原始远程版本:什么是正确的命令?
Ste*_*lly 16
这是一个很长的解释,以便您了解发生了什么:
假设遥控器被调用 origin
git reset --hard HEAD
git checkout origin/master
git branch -D master
git checkout -b master
Run Code Online (Sandbox Code Playgroud)
这样做是:
(如果git status表示没有修改过的文件,则可选)丢弃磁盘上任何已修改的文件(这就是原因reset --hard)
签出远程主分支(注意:您将处于"detatched head"状态)
删除本地master分支(丢弃所有本地更改)
将当前头部称为新master分支
现在你可能想要做一些稍微不同的事情......即不要丢掉你的变化,只要将它们放在另一个命名的分支上......毕竟你永远不知道什么时候你再次需要它们
git checkout -b my-silly-changes
git branch -D master
git checkout -b master origin/master
Run Code Online (Sandbox Code Playgroud)
这会将当前更改保存在调用的新本地分支中my-silly-changes,然后删除调用的旧本地分支master,最后从远程头重新创建它.
以下是那些认为自己知道自己在做什么的人的解释:
单个命令:
git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)
将丢弃任何本地更改并将当前分支重新指向最近获取的状态origin/master.这与本答案开头的四个命令具有完全相同的效果,但没有看幕后
| 归档时间: |
|
| 查看次数: |
10382 次 |
| 最近记录: |