git是现代化的版本控制管理软件,熟练掌握git是每一个程序员应有的技巧。
一、版本库的初始化
- 本地初始化
git init
- 远程初始化(克隆)
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的时候这些文件将不会出现在未跟踪列表里。注意已经添加到版本库的文件不受此文件影响!
以上命令基本上都有丰富的选项设置,使用不同的选项可能会有完全不一样的效果。