看着没有多少命令,自己边实践边整理还是花了不少的时间,动手整理一番收获还是不小,现在觉得跟SVN相比,Git确实有它的优势,比如强大的分支功能,可以7*24小时工作,有网没网都无所谓,对于一直使用SVN的朋友想快速切换到Git还是需要点时间,不过用过之后你才会觉得它的好。是不是已经饥渴难耐了,那希望下面的命令能够帮助到你。
1、初始化仓库
git init #创建工作区和缓存区
2、添加文件到缓存区
git add 文件 #把要提交的所有修改放到暂存区(Stage)
3、提交文件到本地仓库
git commit -m "提交注释" #一次性把暂存区的所有修改提交到分支
4、添加远程仓库
git remote add 远程仓库地址
5、推送到远程仓库
git push -u origin master
6、创建分支
git branch 分支名称
7、切换分支
git checkout 分支名称
git checkout -b 分支名称 #创建并切换
8、查看当前分支
git branch
9、移除文件
git rm 文件名(支持正则匹配)
10、合并分支(切换到主分支,然后merge 后面的分支名称就是和主分支之间的合并)
git merge 被分支名称
11、删除分支
git branch -d 分支名称
12、查看分支合并图
git log --graph
12、查看当前路径
pwd
13、查看修改内容
git diff #diff就是difference的缩写,是工作区(work dict)和暂存区(stage)的比较
git diff --cached #是暂存区(stage)和分支(master)的比较
14、版本回退
git reset --hard 版本号 #版本号就是commit id ,只需要填写版本号的前几位就行了,HEAD是指当前版本,严格来说是指向当前分支的当前版本
15、查看每一次命令
git reflog #可以查看版本回退之前的信息,包括commit id,对于治疗版本回退后的后悔疾病有奇效
16、查看当前状态
git status
17、撤销文件的修改 (顿感这个命令好强大)
git checkout -- 文件名 #让这个文件回到最近一次git commit或git add时的状态
丢弃工作区的修改
git checkout -- 文件名
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”
如果工作区删除了某个文件,但是版本库里有,可以通过git checkout -- 文件名复原
18、撤销暂存区的修改
git reset HEAD 文件名
19、删除文件
git rm 文件名
20、仓库克隆
git clone 远程仓库地址 #Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
21、创建标签
git tag <tagname> # 默认为HEAD
22、给指定的地方打标签
git tag <tagname> 【commit id】
23、查看标签
git tag
24、删除标签
git tag -d <tagname>
25、一次性推送全部尚未推送到远程的本地标签
git push origin --tags
26、送某个标签到远程
git push origin <tagname>
27、删除远程标签,需要两步
git tag -d <tagname>
git push origin :refs/tags/<tagname>
28、新建.gitignore文件
touch .gitignore
29、删除文件夹及其下面的所有文件
git rm -r 文件夹路径 #例如:git rm -r wechat/target