我的 git 有问题 我的问题如下,当我拉动时:
git pull origin example
直到完美!!,然后我做一个
rm -Rf rootdirectory
然后
git commit -am "Delete files"
然后我再次拉动,因为我需要这些文件
git pull origin example
但它不会再次获得根目录
这是一条消息:
Already up-to-date.
我该如何再次使用 git pull 获取文件?
我的 git 有问题 我的问题如下,当我拉动时:
git pull origin example
直到完美!!,然后我做一个
rm -Rf rootdirectory
然后
git commit -am "Delete files"
然后我再次拉动,因为我需要这些文件
git pull origin example
但它不会再次获得根目录
这是一条消息:
Already up-to-date.
我该如何再次使用 git pull 获取文件?
git pull 没有改变任何东西的原因是您没有从远程存储库中提取数据,而是在提取更改。并且 git 没有任何变化!
Git 不是数据存储。这是一个版本控制系统
但是,如果您想检查以前的状态,您可以轻松地做到这一点:
git checkout HEAD~1
这意味着您正在将工作副本重置为最新提交之前的状态。
但是,如果您想完全删除删除文件的提交,您也可以这样做:
git reset --hard HEAD~1
我是否认为您已经习惯了 Subversion,如果您删除文件,然后执行 a svn update
,文件将被重新填充?我也是。
在 git 中,您必须git checkout
将文件从 repo 中取出。您也可以使用git reset --hard
来更新文件,但这样做会清除工作目录中的任何更改。
这就是 git 的工作方式。在拉取origin/example
并提交您的更改(“删除文件”)之后,您的本地存储库将领先于origin/master
该 1 次提交:
A---B---C origin/master
\
D master
D
你的Delete files
承诺在哪里。另一个git pull
给你Already up-to-date
是因为没有新的提交origin/master
可以被拉入你的本地仓库。
要“再次获取文件”,您可以撤消上次提交:
git checkout HEAD~1
或者您可以重置本地存储库以匹配远程存储库:
git reset --hard origin/master
转到文件被删除的目录,确保你在你想要的分支上,然后输入“git checkout”。这将带回您在当前分支上删除的文件。