git 本地比远程新怎么办 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
honmaple
V2EX    git

git 本地比远程新怎么办

  •  
  •   honmaple 2015-10-22 21:54:06 +08:00 4128 次点击
    这是一个创建于 3719 天前的主题,其中的信息可能已经有所发展或是发生改变。
    平时都是 git add,git commit,git push,再或是 git status ,今天上 github 看了下才发现删除本地文件时忘记 git rm,导致 github 上有很多兀余文件,总不能一个一个删除,请教应该怎样将远程库的兀余文件删除
    ps:难道只能 git rm *,然后再将本地文件 git push
    11 条回复    2015-10-23 15:11:54 +08:00
    cxbig
        1
    cxbig  
       2015-10-22 22:00:58 +08:00
    是的, git rm > git commit > git push
    Mr2
        2
    Mr2  
       2015-10-22 22:01:56 +08:00
    force push
    loddit
        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 里把这些文件删除了。
    loddit
        4
    loddit  
       2015-10-22 22:12:47 +08:00
    没有预览,似乎 markdown 语法错了

    ```
    test markdown
    ```
    chairuosen
        5
    chairuosen  
       2015-10-22 22:12:57 +08:00
    用 sourceTree 管理
    ceyes
        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 是否够独立、逻辑清晰。
    lincanbin
        7
    lincanbin  
       2015-10-23 03:17:49 +08:00 via Android
    用个带 GUI 的 git 客户端吧,不知道为什么很多人明知道有提高效率的工具,却一直不肯用。
    fengyqf
        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
    LioMore
        9
    LioMore  
       2015-10-23 09:51:40 +08:00
    @loddit 是单引号,不是这个点
    joshz
        10
    joshz  
       2015-10-23 12:22:56 +08:00 via Android
    以前好像碰到同样的问题,搜 SO 解决的
    honmaple
        11
    honmaple  
    OP
       2015-10-23 15:11:54 +08:00 via Android
    不好意思,是我的错,因为我是用框架在外部目录生成文件,然后编辑调试好后复制到本地仓库覆盖原文件,再上传的,没想到有的文件没有被覆盖,也没被删除,留了下来,今天将所有文件夹看了遍后才发现,多谢各位的回答
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2611 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 09:39 PVG 17:39 LAX 01:39 JFK 04:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86