程序员的自我修养

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来安装。

学习教程

使用技巧

资料

配置文件

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

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

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

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

warning: push.default is unset; its implicit value has changed in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the traditional behavior, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.

Since Git 2.0, Git defaults to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'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>, 代表有。

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

Move the file to the /usr/local/bin directory.
$ sudo mv git-credential-osxkeychain /usr/local/bin/

Make the file an executable:
$ chmod u+x /usr/local/bin/git-credential-osxkeychain 
Configure git to use the helper.

$ git config --global credential.helper osxkeychain
# 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