V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
eightqueen
V2EX  ›  程序员

git 如何指定某个文件暂时不提交?

  •  
  •   eightqueen · 2016-01-10 17:29:04 +08:00 · 10361 次点击
    这是一个创建于 3240 天前的主题,其中的信息可能已经有所发展或是发生改变。
    场景是这样的,我修改了 20 个 java 文件, 1 个 xml 文件,我希望提交 20 个 java 文件的修改, xml 文件还需要进一步完善。可是 20 个 java 文件一个一个去 add ,感觉好 low ,又不能直接执行“ git add .”。
    11 条回复    2016-01-10 18:56:16 +08:00
    sophymax
        1
    sophymax  
       2016-01-10 17:30:32 +08:00 via Android
    git stash
    guchengf
        2
    guchengf  
       2016-01-10 17:36:40 +08:00
    你可以 add .
    然后 reset xml

    或者

    https://github.com/ndbroadbent/scm_breeze
    Vvfan
        3
    Vvfan  
       2016-01-10 17:45:12 +08:00
    git update-index

    --[no-]assume-unchanged
    When this flag is specified, the object names recorded for the paths
    are not updated. Instead, this option sets/unsets the "assume
    unchanged" bit for the paths. When the "assume unchanged" bit is on,
    the user promises not to change the file and allows Git to assume that
    the working tree file matches what is recorded in the index. If you
    want to change the working tree file, you need to unset the bit to
    tell Git. This is sometimes helpful when working with a big project on
    a filesystem that has very slow lstat(2) system call (e.g. cifs).

    Git will fail (gracefully) in case it needs to modify this file in the
    index e.g. when merging in a commit; thus, in case the
    assumed-untracked file is changed upstream, you will need to handle
    the situation manually.
    zapper
        4
    zapper  
       2016-01-10 17:45:43 +08:00 via iPhone
    暂存 然后提交了再取出?
    cloudzhou
        5
    cloudzhou  
       2016-01-10 17:46:32 +08:00
    git status|grep modified|grep java$|awk '{print $NF}'|xargs git add
    linhua
        6
    linhua  
       2016-01-10 17:48:06 +08:00
    finian
        7
    finian  
       2016-01-10 17:57:41 +08:00
    用 GUI 吧,比如 SourceTree ,直观省事
    crayygy
        8
    crayygy  
       2016-01-10 18:05:15 +08:00
    git add *.java ?
    az
        9
    az  
       2016-01-10 18:07:09 +08:00
    可以临时 checkout 到一个新的分支 commit ,完了再回来,在 reset 。
    chemzqm
        10
    chemzqm  
       2016-01-10 18:08:22 +08:00
    git add **/*.java
    或者
    git add .
    git reset --- path-to-xml
    不加 hard git 不会动工作目录
    timwu
        11
    timwu  
       2016-01-10 18:56:16 +08:00
    git stash 正解,推荐 sourcetree
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1039 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 23:18 · PVG 07:18 · LAX 15:18 · JFK 18:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.