序
因为一直使用git作为代码仓库,于是就写了下关于git的一些使用方法
Git Checkout&reset
-
命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况
-
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
-
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态
-
-
用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区
-
git reset HEAD readme.txt
-
然后执行git checkout – readme.txt就可以恢复成仓库的样子
-
Git push
-
git push -u origin master
-
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支, 还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
Git stash
-
git stash 存储现场
-
git stash list显示存储现场列表
-
恢复,有两个办法
-
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除
-
另一种方式是用git stash pop,恢复的同时把stash内容也删了
-
你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令: $ git stash apply stashn
-
Git 分支
-
git branch命令会列出所有分支,当前分支前面会标一个*号
-
合并分支时,加上–no-ff参数就可以用普通模式合并, 能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。 $ git merge –no-ff -m “merge with no-ff” dev
-
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除
Git 打标签
-
可以用命令git tag查看所有标签: $ git tag
-
还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字: $ git tag -a v0.1 -m “version 0.1 released” 3628164
-
可以用git show <tagname>查看标签信息
-
如果标签打错了,也可以删除: $ git tag -d v0.1
-
如果要推送某个标签到远程,使用命令git push origin <tagname> $ git push origin v1.0
-
命令git push origin –tags可以推送全部未推送过的本地标签