Answers:
如果您是想让拉取覆盖本地更改,请像工作树是干净的那样进行合并,那么请清理工作树:
git reset --hard
git pull
如果存在未跟踪的本地文件,则可以git clean
用来删除它们。使用git clean -f
删除未跟踪文件,-df
删除未跟踪的文件和目录,并-xdf
删除未跟踪或忽略的文件或目录。
另一方面,如果您想以某种方式保留本地修改,则可以在存储之前使用存储隐藏它们,然后再重新应用它们:
git stash
git pull
git stash pop
我认为从字面上忽略更改没有任何意义,尽管-pull的一半是合并,并且它需要将提交的内容版本与其获取的版本合并。
git reset
你的文件仍然来自远程读取不同 stackoverflow.com/questions/1257592/...
git reset --hard
影响前者,而不影响后者。如果您想完全重置为远程状态,git reset --hard origin/<branch>
但是-在这种情况下,通常情况下,这两个提交比您提前完成是您所做的工作,而不是您想放弃的事情。
对我来说,以下工作:
(1)首先获取所有更改:
$ git fetch --all
(2)然后重置主机:
$ git reset --hard origin/master
(3)拉/更新:
$ git pull
您只想要一个给出与完全相同的结果的命令rm -rf local_repo && git clone remote_url
,对吗?我也想要这个功能。我想知道为什么git不提供这样的命令(例如git reclone
或git sync
),而svn也没有提供这样的命令(例如svn recheckout
或svn sync
)。
尝试以下命令:
git reset --hard origin/master
git clean -fxd
git pull
git clean -fxd
从中删除文件.gitignore
。
下面的命令永远不会起作用。如果您只是做:
$ git checkout thebranch
Already on 'thebranch'
Your branch and 'origin/thebranch' have diverged,
and have 23 and 7 different commits each, respectively.
$ git reset --hard
HEAD is now at b05f611 Here the commit message bla, bla
$ git pull
Auto-merging thefile1.c
CONFLICT (content): Merge conflict in thefile1.c
Auto-merging README.md
CONFLICT (content): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.
等等...
要真正重新开始,下载分支并覆盖所有本地更改,只需执行以下操作:
$ git checkout thebranch
$ git reset --hard origin/thebranch
这样就可以了。
$ git checkout thebranch
Already on 'thebranch'
Your branch and 'origin/thebranch' have diverged,
and have 23 and 7 different commits each, respectively.
$ git reset --hard origin/thebranch
HEAD is now at 7639058 Here commit message again...
$ git status
# On branch thebranch
nothing to commit (working directory clean)
$ git checkout thebranch
Already on 'thebranch'
查看git stash,将所有本地更改放入“ stash文件”中,并还原到最后一次提交。此时,您可以应用隐藏的更改,也可以将其丢弃。
这对我有用
git fetch --all
git reset --hard origin/master
git pull origin master
接受答案后,出现冲突错误
我通常这样做:
git checkout .
git pull
在项目的根文件夹中。
.gitignore
“只要您最初没有将不需要的文件提交到任何分支,就可以向.gitignore添加不需要的文件。”
您也可以运行:
git update-index --assume-unchanged filename
https://chamindac.blogspot.com/2017/07/ignoring-visual-studio-2017-created.html