最近学习了git的使用,现在讲git一些常用命令。
1.git的安装
设置账号和密码
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
2.设置别名
$ git config --global alias.st status
----设置status命令的别名为status,可以再 .git/config文件中查看
3.创建版本库
进入要创建版本库的目录,$ git init
4.添加文件
$ git add readme.txt
5.提交文件
$ git commit -m "提交的注释"
6.查看当前的状态(工作空间的状态与版本库的对比)
$ git status
7.文件对比
$ git diff my.txt ----工作区与版本库add操作后的对比
$ git diff HEAD -- my.txt ----工作区与版本库commit操作后的对比
8.查看提交日志
$ git log ----显示完整的信息
$ git log --pretty=oneline ----查案简化的信息
9.版本回退
$ git reset --hard HEAD^ ----回退到最近最后一个提交的版本
$ git reset --hard 3628164(head的hash值) ----回退到指定的版本(可以使用$ git
reflog查看head 信息)
10.撤销修改(丢弃工作区的修改)
$ git checkout -- my.txt
----命令git checkout -- my.txt意思就是,把my.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是my.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是my.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
11.删除文件
$ rm my.txt ----删除本地文件
$ git rm my.txt再$ git commit -m "remove test.txt" ----删除版本库的文件
若本地误删除文件,可以使用$ git checkout -- my.txt复制出版本库中的文件
12.生成ssh key
$ ssh-keygen -t rsa -C "youremail@example.com"
生成完成后用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
13.添加远程版本库
$ git remote add origin git@github.com:xxx/xxx.git ----关联远程库
$ git push -u origin master ----第一次提交
$ git push origin master ----以后的提交
14.创建分支
$ git checkout -b <你要使用的分支名称>
这里相当于连个命令:
$ git branch <你要使用的分支名称>
$ git checkout <你要使用的分支名称>
15.查看分支
$ git branch
16.切换分支
$ git checkout <你要使用的分支名称>
17.合并分支
$ git merge <你要合并的分支名称>
$ git merge --no-ff -m "提交信息" <你要合并的分支名称>
----合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
18.删除分支
$ git branch -d <你要删除的分支名称>
19.查看提交的分支图
$ git log --graph
$ git log --graph --pretty=oneline --abbrev-commit ----查看简化的图
20.将工作区的现场保存
$ git stash ----将工作区现场存起来
$ git stash list ----查看保存的现场
$ git stash pop ----恢复保存的现场
也可以使用git stash apply恢复,但是恢复后,stash内容并不删除,需要用git stash drop来删除;
21.克隆远程版本库
$ git clone git@github.com:xxx/xxx.git
22.远程仓库信息查看
$ git remote
$ git remote -v ----查看更详细的信息
23.推送信息到远程仓库
$ git push origin <你要使用的分支名称>
24.创建远程的分支
分子创建一般都是本地使用,若要使远程也能使用该分支
$ git checkout -b <分支名称> origin/<分支名称>
$ git push origin <分支名称>
25.获得远程数据
$ git pull
如果git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接:
$ git branch --set-upstream <分支名称> origin/<分支名称>
26.创建标签
$ git tag <标签名字,如:v1.0> ----默认为HEAD,也可以指定一个commit id
$ git tag -a <标签名字> -m "创建我的tag" ----创建带有说明的标签,用-a指定标签名,
-m指定说明文字:
$ git tag <标签名字> <HEAD的hash值> -----在指定的commit的HEAD上打标签,可
以通过$ git log --pretty=oneline --abbrev-commit查看HEAD
27.查看已创建的标签
$ git tag
28.查看具体标签的信息
$ git show <标签名字>
29.删除标签
$ git tag -d <标签名字>
30.删除远程的tag
$ git tag -d <标签名字> ----先本地删除,在push
$ git push origin :refs/tags/<标签名字>
31.推送标签
$ git push origin <标签名字> ----推送指定tag
$ git push origin --tags ----一次推行全部的tag
32.其他
32.1 git如何忽略不提交的文件
在Git工作区的根目录下创建一个特殊的.gitignore文件,设置格式
# 忽略*.o和*.a文件
*.[oa]
# 忽略*.b和*.B文件,my.b除外
*.[bB]
!my.b
# 忽略dbg文件和dbg目录
dbg
# 只忽略dbg目录,不忽略dbg文件
dbg/
# 只忽略dbg文件,不忽略dbg目录
dbg
!dbg/
# 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内
/dbg
原文:http://www.cnblogs.com/mouseIT/p/5013129.html