1、git init
在指定目录下,使用git init命令将该目录编程Git可以管理的仓库。
使用git init命令后,在当前目录下,会多一个.git的目录,这个目录时Git用来跟踪管理版本库的,不可修改这个目录下的文件。
2、git add <filename>
将文件filename添加到仓库。
需要注意的是:filename文件必须在仓库目录或仓库目录的子目录下。
3、git commit -m “description”
将git add添加的文件提交到仓库。
description时本次提交的说明,可以输入任意内容,当然最好是有意义的。
4、git status
使用git status命令可以随时掌握工作区的状态。
5、git diff <filename>
使用git diff命令可以查看文件filename被修改的内容
6、git log
git log命令显示从最近到最远的提交日志。
后面可以跟参数:--pretty=oneline 将每次提交记录显示在一行
7、git reset --hard HEAD^
退回到当前版本的上一个版本。
HEAD表示当前版本,HEAD^表示当前版本的上一个版本,HEAD^^表示当前版本的上上一个版本……
这里可以使用commit id代替HEAD^。
commit id可以使用git log命令查到
8、git reflog
用来记录用户的每一次命令
9、git diff HEAD -- filename
查看工作区中filename和版本库中最新版本的filename文件的区别。
10、git checkout -- filename
丢弃工作区中filename的修改。(这里的 -- 很重要)
11、git reset HEAD filename
将暂存区中filename的修改撤销掉
12、git rm <filename>
将filename文件从版本库中删掉。
13.git remote add origin git@github.com:yourGitHubname/learngit.git
将自己的本地仓库learngit与GitHub仓库相关联
14、git push -u origin master
将本地仓库的所有内容推送到GitHub的远程仓库上
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
以后,就可以使用命令:git push origin master将本地仓库的内容推送到github
15、git clone git@github.com:yourgithubname/gitskills.git
将github的远程仓库gitskills克隆到本地仓库
16、git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于下面两条命令:
1 $ git branch dev 2 $ git checkout dev
17、git branch
查看当前分支,git branch命令会列出所有分支,当前分支前面会标一个*号。
18、git checkout master
切换会master分支
19、git merge dev
用于合并指定分支到当前分支。
20、git branch -d dev
删除分支dev
21、git log --graph --pretty=oneline --abbrev-commit
查看分支的合并情况
22、git merge --no-ff -m "merge with no-ff" dev
将分支dev合并到master,但本次合并要创建一个新的commit,因此要加上-m参数,把commit描述写进去
23、git stash
用于将当前工作的现场“储藏”起来,等以后恢复现场后,继续工作。
24、git stash list
查看“储藏”现场的状况
25、git stash apply
恢复git stash保存的现场,恢复后,stash内容并不删除。需要使用git stash drop来删除
你可以多次stash,恢复的时候,先用git stash list
查看,然后恢复指定的stash,用命令:
1 git stash apply stash@{0}
26、git stash pop
恢复git stash保存现场的同时,删除stash内容
27、git branch -D feature-vulcan
强行删除分支feature-vulcan
28、git remote
查看远程库的信息
可以加-v参数查看更详细的信息
29、git push origin master
将本地仓库的分支master推送到远程仓库对应的分支上
30、git checkout -b dev origin/dev
创建远程origin的dev分支到本地
31、git branch --set-upstream dev origin/dev
指定本地dev分支与远程origin/dev分支的链接
32、git tag <name>
创建标签
还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字
git tag -a v0.1 -m "version 0.1 released" 3628164
33、git tag
查看所有标签
34、git log --pretty=oneline --abbrev-commit
查看历史提交的commit id
35、git tag v0.9 6224937
为commit id 为6224937的这次commit打标签
36、git show <tagname>
查看标签信息
37、git tag -d v0.1
删除标签
38、git push origin <tagname>
推送某个标签到远程
或可以一次推送全部尚未推送到远程的本地标签
git push origin --tags
39、git tag -d v0.9
git push origin :refs/tags/v0.9
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除,然后再从远程删除。