一、准备工作
配置全局用户名和电子邮件地址:
prompt> git config -global user.name "your name"
prompt> git config -global user.email "you@example.com"
创建新版本库:
prompt> git init
克隆版本库:
prompt> git clone git@github.com:username/repository.git
二、Git中的概念
指定版本
HEAD #最近的一次提交
HEAD^ #HEAD之前的那个提交
HEAD~1 #HEAD之前的那个提交
HEAD^^ #HEAD早俩个的那个提交
HEAD~2 #HEAD早俩个的那个提交
三、提交变更
添加新文件或者暂存已有文件上的改动,然后提交:
prompt> git add <some file>
prompt> git commit -m "<some message>"
取消已经暂存但是未提交的变更的暂存标识:
prompt> git reset HEAD <some file>
修复一次提交中的问题:
prompt> git add <some file>
prompt> git commit -amend
四、使用分支
start point可以是一个分支 ,标签或提交的名称
列出已有分支:
prompt> git branch
只列出远程分支:
prompt> git branch -r
列出所用分支:
prompt> git branch -a
创建新分支:
prompt> git branch new-branch existing
切换到另一条分支:
prompt> git checkout branch-name
创建新分支并检出:
prompt> git checkout -b new-branch existing
把一条分支
prompt> git checkout <another>
prompt> git merge <one>
五、撤销变更
反转某个提交
prompt> git revert <commit>
删除工作目录树的变更:
prompt> git checkout some/file
#注意:此操作不可撤回
在版本中撤销已经提交的变更,并在工作目录树中清除:
prompt> git reset -hard HEAD^
#注意:此操作不可撤回
六、浏览历史记录
显示历史记录
#所有历史记录
prompt>git log
#只显示最近五个提交
prompt>git log -5
#并显示文件内容的变化
prompt> git log -5 -p
#显示至少是两天前的提交
prompt> git log -5 -p -berfore=="2 days"
显示版本的差异
#工作目录树与暂存区的差异
prompt> git diff
#暂存区域版本库的差异
prompt> git diff -cached
#工作目录树与版本库的差异
prompt> git diff HEAD
#两个提交之间的差异
prompt> git diff <start> <end>
问责
prompt> git blame
七、与远程版本库的互动
克隆版本库
prompt> git clone <some repository>
只克隆最经200次提交
prompt> git clone -depth 200 <some repository>
在本地版本库设置远程版本库的别名:
prompt> git remote add <remote repository> <repository url>
取消变更(不包含合并到本地分支):
prompt> git fetch <remote repository>
拖入变更(包含合并到本地分支):
prompt> git pull <remote repository>
把变更推入到远程版本库:
prompt> git push <some repository>