• Git
    • 下载安装
      • windows
      • Mac
      • Linux
    • 学习教程
    • 使用技巧
      • 资料
      • 配置文件
      • 存储密码
        • https协议
        • ssh协议
      • 切换协议

    Git

    git是一种分布式版本控制系统,是目前项目管理使用较多的一种工具。

    下载安装

    windows

    官网,下载安装包,直接运行之后命令行就可以运行了。

    Mac

    如果是安装了xcode的话,会自带一个版本的git。

    如果想要安装新版本的git,推荐使用Homebrew: mac下的apt-get。
    安装brew,它下载的命令是存在放/usr/local/bin中的,所以要想正常工作,还需要在PATH中添加这个路径,在命名行下输入:echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

    Linux

    Linux下可以使用apt-get install git来安装。

    学习教程

    • 最好的中文教程
    • Git Magic: 网上较火的一套教程。
    • GotGithub: 一本中文的介绍github使用的书。
    • Git Tutorials: bitbucket的教程。
    • Try Git: codeschool教程。
    • Git Immersion: 答题的形式学习git.
    • Learn Version Control with Git
    • githug: Git your game on!
    • git-game: terminal game to test git skills.
    • Learn Git Branching: 形象直观的图形化练习网站。

    使用技巧

    资料

    • GitHub秘籍
    • Set up Git: bitbucket教程。
    • Github Help
    • 使用git和github进行协同开发流程

    配置文件

    一般都在/user下,window对应的目录是C:\Users\username,mac和linux对于的就是用户主目录/Users/username。配置文件名称为.gitconfig

    通常我们使用git的时候最先会去配置username和email:

    1. git config --global user.name "FIRST_NAME LAST_NAME"
    2. git config --global user.email "MY_NAME@example.com"

    一般而言,我会使用git add . -> git commit -m "xxxx" -> git push的方式提交,第一次git操作的时候,git会给我如下的提示:

    1. warning: push.default is unset; its implicit value has changed in
    2. Git 2.0 from 'matching' to 'simple'. To squelch this message
    3. and maintain the traditional behavior, use:
    4. git config --global push.default matching
    5. To squelch this message and adopt the new behavior now, use:
    6. git config --global push.default simple
    7. When push.default is set to 'matching', git will push local branches
    8. to the remote branches that already exist with the same name.
    9. Since Git 2.0, Git defaults to the more conservative 'simple'
    10. behavior, which only pushes the current branch to the corresponding
    11. remote branch that 'git pull' uses to update the current branch.
    12. See 'git help config' and search for 'push.default' for further information.
    13. (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
    14. 'current' instead of 'simple' if you sometimes use older versions of Git)

    其实就是告诉我要设置下push.default,执行git config --global push.default simple即可。

    存储密码

    https协议

    如果使用的是https协议访问git仓库,与服务器端同步的时候每一次都会提示输入密码。解决这个问题的方式就是能让密码保存起来。

    在windows下,我使用的是git-credential-winstore。下载安装即可使用。

    在Mac下,我使用的是git-credential-osxkeychain。首先在终端中检测是否已经有git-credential-osxkeychain,git credential-osxkeychain。提示usage: git credential-osxkeychain <get|store|erase>, 代表有。

    如果没有,下载这个工具,执行:

    1. Move the file to the /usr/local/bin directory.
    2. $ sudo mv git-credential-osxkeychain /usr/local/bin/
    3. Make the file an executable:
    4. $ chmod u+x /usr/local/bin/git-credential-osxkeychain
    5. Configure git to use the helper.
    6. $ git config --global credential.helper osxkeychain
    7. # Set git to use the osxkeychain credential helper

    如果存在的话,直接执行git config --global credential.helper osxkeychain

    在Linux下,执行git config --global credential.helper store


    操作完之后,检查下.gitconfig文件,看是否添加了[credential]字段。

    如果需要取消设置,执行git config --unset --global credential.helper

    ssh协议

    需要设置ssh的私钥和公钥。

    切换协议

    查看当前remote: git remote -v

    更新remote: git remote set-url origin https://git.oschina.net/username/YourRepo