Git常用命令详解(总结)

1.把某个目录变成Git可以管理的仓库

git init

2.把文件提交到仓库

git add 文件名 //把文件添加到仓库
git commit -m "提交说明" //把文件提交到仓库

3.查看仓库状态

git status 

4.查看仓库具体修改了啥

git diff

5.显示从最近到最远的提交日志 /红字成一行输出

git log [--pretty=oneline] 

6.回退到某一个版本

git reset --hard HEAD^  //回退到上个版本
git reset --hard HEAD~100 //回退往上100个版本
git reset --hard 1904a //回退某个id的版本

7.用来记录你的每一次命令

git reflog 

8.撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令

git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,
第一步用命令就回到了场景1,

git reset HEAD <file>

第二步按场景1操作。

git checkout -- file

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

9.删除文件

$ rm test.txt //删除工作区文件 
$ git rm test.txt //删除版本库文件
$ git commit -m "remove test.txt //提交删除 

10.要关联一个远程库,使用命令

git remote add origin git@server-name:path/repo-name.git;

关联后,使用命令第一次推送master分支的所有内 容;

git push -u origin master

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

11 .要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

$ git clone git@github.com:michaelliao/gitskills.git

12 .分支

查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward:
$ git merge --no-ff -m "merge with no-ff" dev

13.推送修改

git push origin <branch-name>

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin 分支 推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令。

git branch --set-upstream-to <branch-name> origin/<branch-name>

查看远程库信息,使用git remote -v
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支

git push origin branch-name

如果推送失败,先用git pull抓取远程的新提交;

在本地创建和远程分支对应的分支

git checkout -b branch-name origin/branch-name

建立本地分支和远程分支的关联

git branch --set-upstream branch-name origin/branch-name;

从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
14. 标签
git tag 标签名 创建标签
git tag 查看标签

$ git log --pretty=oneline --abbrev-commit

查看历史commit id
$ git show v0.9查看标签信息
指定标签信息:

git tag -a <tagname> -m "blablabla..."

可以推送一个一个分支

git push origin <tagname>

你可能感兴趣的:(Git)