• git


    https://git-scm.com/docs
    https://git-scm.com/book/en/v2
    猴子都能懂得git入门
    http://backlogtool.com/git-guide/cn/

    配置文件

    配置文件有3级

    1 /etc/gitconfig 系统级的配置文件 使用 --system 参数设置到

    2 ~/.gitconfig or ~/.config/git/config 用户级的配置文件 --global 参数设置到

    3 .git/config 在某个项目级别的配置文件。

    每一级会覆盖掉上一级相同的设置 ,如.git/config 会覆盖掉 /etc/gitconfig中相同的设置

    名字和邮箱在提交代码时会用到

    $ git config --global user.name "John Doe"
    $ git config --global user.email johndoe@example.com
    

    检查你的设置

    git config --list
    user.name=John Doe
    user.email=johndoe@example.com
    color.status=auto
    color.branch=auto
    color.interactive=auto
    color.diff=auto
    ...
    

    查看某个具体key的值

    git config user.name
    John Doe
    

    git status
    git add 含义 添加文件到 下一次提交。

    Ignoring Files
    .gitignore
    eg

    *.[oa]
    *~
    *.log
    

    ignore file 规则

    Blank lines or lines starting with # are ignored.
    
    Standard glob patterns work.
    
    You can start patterns with a forward slash (/) to avoid recursivity.
    
    You can end patterns with a forward slash (/) to specify a directory.
    
    You can negate a pattern by starting it with an exclamation point (!).
    

    https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository

    另一个.gitignore

    # no .a files
    *.a
    
    # but do track lib.a, even though you're ignoring .a files above
    !lib.a
    
    # only ignore the TODO file in the current directory, not subdir/TODO, 如果还有一个目录 /a/TODO  就不会ignore
    /TODO
    
    # ignore all files in the build/ directory
    build/
    
    # ignore doc/notes.txt, but not doc/server/arch.txt
    doc/*.txt
    
    # ignore all .pdf files in the doc/ directory and any of its subdirectories
    doc/**/*.pdf
    

    git diff 显示的是 track的文件中, 更改了,但还没有 staged的部分。

    git diff --staged 比较的是 ,staged的文件 和上一次提交的不同。

    git commit -a -m 'added new benchmarks' 这个命令会跳过 git add 的环节, 不推荐。

    git mv file_from file_to 很神奇

    git log
    查看git 历史,最好还是借助 图形化的工具,如 sourcetree

    git commit --amend 修改注释

    撤销当前修改
    git checkout --
    撤销全部修改
    git checkout . 这个命令要小心执行,不然你写的代码就瞬间都没了。

    远端

    git remote
    git remote -v
    git remote add
    git remote add pb https://github.com/paulboone/ticgit
    git fetch origin 获取远端的data fetch只是下载,并不会自动帮你merge
    git pull origin 等于 git fetch + git merge
    git push [remote-name] [branch-name] 推代码到远端
    如果你推代码时,别人又提交了新的代码, 你的push会被拒绝。 你需要先fetch到最新的代码,和自己的合并到一起 ,然后再push。

    git remote rename pb paul 修改远端的名字
    git remote remove paul 删除远端

    Tag

    git checkout -b version2 v2.0.0 检出tag=v2.0.0 到 分支 version2

    git add . 把所有修改加入 staged

    checkout

    把远程的分支 checkout到本地
    git checkout -b [分支名] [远程名]/[分支名]

  • 相关阅读:
    [转]Xcode4.5.1破解iOS免证书开发真机调试与ipa发布
    [转]QT多线程异步调用
    [转]Clone Object as instance in OgreMax
    [转]Texture atlas extension to the RTSS
    [转]QT中线程调用GUI主线程控件的问题
    c语言打印菱形解析
    今天开始第一次win32汇编之旅 先搭建编程环境吧
    MSHFlexGrid控件
    用1602模拟电子钟功能
    Combobox控件使用
  • 原文地址:https://www.cnblogs.com/fupeng/p/7244053.html
Copyright © 2020-2023  润新知