1
cxbig 2015-10-22 22:00:58 +08:00
是的, git rm > git commit > git push
|
2
Mr2 2015-10-22 22:01:56 +08:00
force push
|
3
loddit 2015-10-22 22:11:30 +08:00
我的建议是首先装一个 branch 是否 dirty 的检测工具,及时了解当前 branch 状态。
另外如果你删除的文件没有在 gitignore 里,那 git status 的时候会就显示出你已经删除的文件。 比如: ``` On branch master Your branch is ahead of 'origin/master' by 6 commits. (use "git push" to publish your local commits) Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) deleted: test.py ``` 这样的信息,这时你可以 commit 带上这个文件,就会在 commit 里把这些文件删除了。 |
4
loddit 2015-10-22 22:12:47 +08:00
囧 没有预览,似乎 markdown 语法错了
``` test markdown ``` |
5
chairuosen 2015-10-22 22:12:57 +08:00
用 sourceTree 管理
|
6
ceyes 2015-10-22 22:45:19 +08:00
git 本地比远程新怎么办 ?
push 上去啊,开发流程不就是如此么。。。 你本地删除了被 git 追踪的文件,此时 git status 肯定不是 clean 的,无法 pull && push ,当然需要 git rm <your files>; git commit ,要明白 git push 的是 commit ,不是文件。所有文件改动都是通过 commit 来进行的。 如果想修整 commit (比如重写、合并、丢弃某些 commit ,或调整 commit 顺序),可以用 rebase ,再 git push --force 。你那想彻底删除文件及 commit 的需求可以通过 rebase 实现 —— 先合并 add file 和 rm file 的 commit ,再丢弃之,但要保证后续 commit 的可以正确的 apply ,取决于你的一个个 commit 是否够独立、逻辑清晰。 |
7
lincanbin 2015-10-23 03:17:49 +08:00 via Android
用个带 GUI 的 git 客户端吧,不知道为什么很多人明知道有提高效率的工具,却一直不肯用。
|
8
fengyqf 2015-10-23 09:37:07 +08:00
是不很明白楼主的意思,是不是这样:
git 跟踪的文件里有个 file.txt ,你在某次提交时,直接在本地磁盘里删除了它,而不是 git rm file.txt ,然后继续提交。 但突然发现 github 上这个文件还在,你想删除了它 如果是,继续看下面: 在本地 git status 时,是不是有 Changes not staged for commit: ..... deleted: test.py 这样一行,确认一下,这些文件是不是都是需要在远程上删除的,如果是,请运行 git add -u (或者运行 git add test.py ;注意,你没看错,是 add ) 然后这些文件将在下次提交时从 git 仓库里移除; push 后远程仓库上也没有了 (按前面方法, git 历史里还有这个文件,还可以 checkout 出来,如果想从历史里彻底删除,请参看 git pro https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E5%86%99%E5%8E%86%E5%8F%B2#%E6%A0%B8%E6%AD%A6%E5%99%A8%E7%BA%A7%E9%80%89%E9%A1%B9%EF%BC%9Afilter-branch ) |
10
joshz 2015-10-23 12:22:56 +08:00 via Android
以前好像碰到同样的问题,搜 SO 解决的
|
11
honmaple OP 不好意思,是我的错,因为我是用框架在外部目录生成文件,然后编辑调试好后复制到本地仓库覆盖原文件,再上传的,没想到有的文件没有被覆盖,也没被删除,留了下来,今天将所有文件夹看了遍后才发现,多谢各位的回答
|