Git笔记

作者: LzSkyline | 来源:发表于2020-02-18 22:35 被阅读0次

    跳过使用暂存区域

    在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤:

    $ git status
    # On branch master
    #
    # Changes not staged for commit:
    #
    #   modified:   benchmarks.rb
    #
    $ git commit -a -m 'added new benchmarks'
    [master 83e38c7] added new benchmarks
     1 files changed, 5 insertions(+), 0 deletions(-)
    

    取消已经暂存的文件

    可以使用 git reset HEAD <file>... 的方式取消暂存。取消暂存 benchmarks.rb 文件:

    $ git reset HEAD benchmarks.rb
    benchmarks.rb: locally modified
    $ git status
    # On branch master
    # Changes to be committed:
    #   (use "git reset HEAD <file>..." to unstage)
    #
    #       modified:   README.txt
    #
    # Changes not staged for commit:
    #   (use "git add <file>..." to update what will be committed)
    #   (use "git checkout -- <file>..." to discard changes in working directory)
    #
    #       modified:   benchmarks.rb
    #
    

    取消对文件的修改

    抛弃文件修改的命令(至少在 Git 1.6.1 以及更高版本中会这样提示):

    $ git checkout -- benchmarks.rb
    $ git status
    # On branch master
    # Changes to be committed:
    #   (use "git reset HEAD <file>..." to unstage)
    #
    #       modified:   README.txt
    #
    

    遇到冲突时的分支合并

    git mergetool,它会调用一个可视化的合并工具并引导你解决所有冲突:

    $ git mergetool
    merge tool candidates: kdiff3 tkdiff xxdiff meld gvimdiff opendiff emerge vimdiff
    Merging the files: index.html
    
    Normal merge conflict for 'index.html':
      {local}: modified
      {remote}: modified
    Hit return to start merge resolution tool (opendiff):
    

    放弃本地更改强制重置代码

    git fetch --all
    git reset --hard origin/master
    

    博客文章迁移: 2019-07-01 19:56

    相关文章

      网友评论

          本文标题:Git笔记

          本文链接:https://www.haomeiwen.com/subject/zcznfhtx.html