从我的本地机器删除文件后,如何从 github 中拉取以再次获取该文件?
After deleting a file from my local machine, how do I pull from github to obtain that file again?
这是按时间顺序排列的摘要。
- 我的一个分支的本地副本,我们称之为 featurebranch 与 github
上的这个分支的副本完全同步
- 在我的本地机器上,我删除了一个名为 test.csv.
的文件
- 我在我的本地机器上调用“git pull origin featurebranch”,但是 test.csv 没有出现在我的本地机器上
- 我调用“git 状态”,输出为“更改未暂存提交:已删除 test.csv”
- 我调用“git添加test.csv”
- 我调用“git状态”,输出是“要提交的更改:已删除test.csv”
- 我调用"git commit -m "删除测试文件""
- 我调用“git pull origin featurebranch”,输出是“已经是最新的”
虽然它不是最新的。 test.csv 仍然存在于 github 上,但不在我的本地机器上。如何在我的本地机器上取回这个文件?我想我没有意识到 git 是如何工作的。感谢阅读。
git pull
用于将您的分支与远程存储库 (GitHub) 中的最新 提交 “同步”。 不是用于同步文件。
由于 featurebranch
从未在远程中使用您没有的新提交更新,因此 git pull
无事可做 - 没有新的提交可以获取和同步。您的提交是该分支的最 up-to-date 版本。
如果你想要你的文件,你可以 git reset <older_commit>
分支到包含该分支的一些较旧的提交。或者您可以 git revert <the_commit_that_deleted_the_file>
删除该文件的提交。或者您可以 git checkout <some_other_commit> -- test.csv
有选择地从 <some_other_commit>
中恢复包含该文件的文件。或者您可以 git checkout
或 git switch
到其他 branch/commit 以将您的工作目录更改为实际具有该文件的提交。
这是按时间顺序排列的摘要。
- 我的一个分支的本地副本,我们称之为 featurebranch 与 github 上的这个分支的副本完全同步
- 在我的本地机器上,我删除了一个名为 test.csv. 的文件
- 我在我的本地机器上调用“git pull origin featurebranch”,但是 test.csv 没有出现在我的本地机器上
- 我调用“git 状态”,输出为“更改未暂存提交:已删除 test.csv”
- 我调用“git添加test.csv”
- 我调用“git状态”,输出是“要提交的更改:已删除test.csv”
- 我调用"git commit -m "删除测试文件""
- 我调用“git pull origin featurebranch”,输出是“已经是最新的”
虽然它不是最新的。 test.csv 仍然存在于 github 上,但不在我的本地机器上。如何在我的本地机器上取回这个文件?我想我没有意识到 git 是如何工作的。感谢阅读。
git pull
用于将您的分支与远程存储库 (GitHub) 中的最新 提交 “同步”。 不是用于同步文件。
由于 featurebranch
从未在远程中使用您没有的新提交更新,因此 git pull
无事可做 - 没有新的提交可以获取和同步。您的提交是该分支的最 up-to-date 版本。
如果你想要你的文件,你可以 git reset <older_commit>
分支到包含该分支的一些较旧的提交。或者您可以 git revert <the_commit_that_deleted_the_file>
删除该文件的提交。或者您可以 git checkout <some_other_commit> -- test.csv
有选择地从 <some_other_commit>
中恢复包含该文件的文件。或者您可以 git checkout
或 git switch
到其他 branch/commit 以将您的工作目录更改为实际具有该文件的提交。