git是现代化的版本控制管理软件,熟练掌握git是每一个程序员应有的技巧。

一、版本库的初始化

  1. 本地初始化

    git init

  2. 远程初始化(克隆)

    git clone url,其中url是版本库的地址。git支持https,ssh,git等多种协议完成对代码库的克隆。

二、代码库状态查看

git status : 查看代码库的当前状态,会标识哪些文件已经做了修改,哪些文件尚未添加到版本库。

git branch : 查看版本库里的分支,默认在master分支上

git remote (-v) : 查看跟踪的远程分支

git tag : 查看版本库的标签

三、代码提交

git pull origin branch: 从跟踪的branch远程分支同步代码到当前分支

git add file(s)/path : 添加文件或者文件夹到缓存区

git commit -m : 提交代码到本地版本库

git push origin branch : 同步当前分支代码到远程branch分支

git merge : 合并代码

四、代码迁出

git checkout : 迁出某个提交号/分支/标签等的代码。

例如g:

it checkout .

表示将当前路径下所有代码库的文件迁出到HEAD时的版本(即丢弃当前路径下的所有更改);

git checkout dev 表示迁出dev分支的代码;

git checkout release_v1.0 表示迁出release_v1.0这个tag的代码

git checkout id file : 迁出提交号为id的file文件,即找回当时的文件

五、历史记录和文件对比

git log : 查看提交记录, -p 选项可以查看每一次提交的详细变动

git diff : 对文件或者路径进行diff

六、文件存放

git stash : 将当前文件变动暂时寄存。当更新有冲突的时候,可以使用这个命令将文件修改寄存起来。

git stash pop/apply: 将寄存区的第一个暂存取出来与当前代码合并

git stash list/show : 查看暂存区状态

git stash clear : 清空暂存区

七、设置

git config : 对git进行配置,可以有系统的,全局的,版本库的多个配置

例如:

git config –global user.name=tlanyan

git config –global color.ui=auto

git config –global core.ignorecase=true

git config –global alias.st=status  // 使用git st代替git status

git config –global alias.co=checkout // 使用git co 代替git checkout

.gitignore文件: 设置git的文件忽略规则,使用git status的时候这些文件将不会出现在未跟踪列表里。注意已经添加到版本库的文件不受此文件影响!

以上命令基本上都有丰富的选项设置,使用不同的选项可能会有完全不一样的效果。