创建新的仓库
创建一个名为hello的目录,作为仓库目录
cd hello
git init
git设置
user.name 用户名
git config –global user.name “John Doe”
user.email电子邮件
git config –global user.email johndoe@example.com
将文件添加到仓库中
新建一个hello.c文件, 提交到仓库中
git add hello.c
git commit -m “Inital Commit”
修改并提交文件
git commit -a
另外,上述命令原来是用来提交Git所管理的所有文件,一次也没有执行git add命令的文件不会提交。
确认工作区状态
git status
要查看哪些文件在Git的管理范围内,使用:
git ls-files
显示缓冲区(staging area)与工作区的差别
git diff
显示最新提交与工作区的差别
git diff HEAD
显示最新提交与缓存区的差别
git diff –cached
查看提交记录
git log
上述命令可以提供查看范围,用提交的Hash值表示
git log 查看到提交散列值为止
git log .. 从之后到最新的提交为止
git log .. 从之后到提交为止
查看指定文件的提交记录
git log 文件名
git log -p 文件名, 以段落的形式显示出来
查看文件中每行的修改记录
git blame 文件名
git show commit_id 文件名
修改提交
取消当前仓库最新的提交:
git revert HEAD
修改某个提交说明
git commit - -amend
取消提交,但是工作区源代码保持原状
git reset - -soft HEAD~1
取消提交,将工作区也恢复到相应的状态
git reset - -hard HEAD
为提交打标签
git tag tag_name
查看标签列表
git tag -l
创建分支
以标签ver1的提交为起点,创建名为vert1x的分支:
git branch ver1x ver1
显示创建分支列表
git branch
切换分支
git checkout ver1x (ps:加-b,则当分支不存在时,会自动创建一个分支)
rebase
git rebase master
将ver1x分支的起点移到master分支的最新提交中。
因发生冲突而中断的rebase操作,可以在消除冲突后,再执行git rebase –continue
合并分支
git merge ver1x
通过git status查看是否有冲突,并做修改,提交。
提取补丁
从版本1到版本2的各次提交的差别提取补丁文件:
git format-patch ver1..ver2
提取源码树
git archive –format=tar –prefix=”hello-v2” ver2 > hello-v2.tar
复制仓库
git clone
追踪分支
查看追踪分支的列表:
git branch -r
origin/HEAD -> origin/master
origin/master
origin/ver1x
查看远程分支信息
git remote show
git remote show origin
添加远程仓库
git remote add pb git://test.git
与远程仓库同步
git pull
git fetch (不会与本地分支合并)
推送本地修改到远程分支
git push csdn master
设置代理
git config –global http.proxy “127.0.0.1:8087
解决SSL证书失败问题
git config –global http.sslVerify false
检出指定分支上的某个文件
git checkout master flash/foo.fla
删除误加入暂存区的文件
git rm -r –cached superlists/*.pyc