我不确定这个问题的确切术语是什么。基本上,我需要删除远程存储库中的一些文件和目录。
我有一个本地Git存储库和GitHub上的远程存储库。
- 我一直在自己工作。
- 一个朋友发起了一个拉取请求。
- 我通过GitHub界面合并了他的请求。
- 我拉取了更改。
- 我测试了代码并决定不采取他的更改(一开始就不应该合并)。
- 我回到了之前的提交状态。
- 做了一些更改。
- 推送到服务器。
这是我本地存储库目前的样子:
* 7e143b1 (HEAD)
|\
| * 18cea0f (origin/master, origin/HEAD, master)
| |\
| | * fc19ccf
* | | 6f3c58a
|/ /
* | 8d82486
|/
| * d3ce65f (pre-install-activeadmin)
|/
* 7d0566c
* d1c77ab
* 75ba704
* 30dc67c (heroku/master)
* f89b1f6
* ea5e2db
* 08931d6
* 9773a6f
* b636aba
* cb6f8d4
我可以将我的本地库更改为7d0566c
。 我不确定远程存储库的HEAD指向哪里。
如何删除那些在远程存储库中但不在我的本地存储库中的文件?
显然,因为我将我的HEAD重置为先前的提交,所以我在本地存储库中看不到他的文件。 然而,远程存储库仍然显示他的文件。 当我提交时,它提交得很好。
我的工作流程是错误的吗? 我应该一开始就测试补丁。
git rev-parse HEAD
和git rev-parse origin/master
命令(如果你的远程仓库名为origin
),查看 Github 和本地仓库的 refspecs 是否相同。 - fgegit log --pretty="format:%h %d" --graph --all
的输出并从那里解释会有所帮助。 - htanata| * 18cea0f(origin/master,origin/HEAD,master) | |\
| | * fc19ccf
| * d3ce65f(pre-install-activeadmin) |/
7e143b1
感到好奇。这是你进行还原的地方吗?如果是,你是如何做到的? - htanata