如何删除远程存储库中的文件?

时间:2011-12-16 19:45:51

标签: git github

我不确定这个问题的确切术语是什么。基本上,我需要删除一些文件&我的远程存储库上的目录

我有一个当地的git repo& github中的远程仓库

  1. 自己一直在努力。
  2. 一位朋友提出了拉请求。
  3. 我合并了他的请求(通过github接口)
  4. 我拉了变化。
  5. 我测试了代码并决定不采取他的更改(不应该在第一时间合并)
  6. 我又回到了之前的提交
  7. 做了一些改变
  8. 推送到服务器。
  9. 这就是我的本地存储库目前的样子:

    *   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重置为之前的提交。但是,远程仓库仍然显示他的文件。当我提交时,它提交就好了。

    我的工作流程错了吗?我应该在第一时间测试补丁。有什么建议吗?我是版本控制的新手。谢谢

2 个答案:

答案 0 :(得分:38)

从服务器中提取更改,然后在本地存储上执行git rm,提交更改,然后推送到服务器。文件将被删除。

答案 1 :(得分:1)

我假设18cea0f是拉请求合并发生的地方。要恢复该合并,您可以执行以下操作:

git revert -m 1 18cea0f

您可以在此处阅读更多内容:http://progit.org/2010/03/02/undoing-merges.html