GIT常用命令集

1.安装相关

linux下安装命令:sudo apt-get install git  或 sudo apt-get install git-core

安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

2.初始化

创建一个空目录:

$ mkdir learngit
$ cd learngit
$ pwd

把这个目录变成Git可以管理的仓库:

$ git init

3.基本操作
  1. 使用命令git add <file>,注意,可反复多次使用,添加多个文件;
  2. 使用命令:git commit -m <message>,完成。
  3. 掌握工作动态:git status
  4. 查看修改内容:git diff
  5. 版本穿梭:git reset --hard commit_id
  6. 查看提交历史:git log
  7. 查看命令历史:git reflog
  8. 查看文件内容:cat  <file>
  9. 删除文件:git rm

 

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

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

 

4.远程库

创建SSH-KEY命令:ssh-keygen -t rsa -C "youremail@example.com"

 

要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git

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

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

克隆到本地库:git clone git@github.com:yourname/gitskills.git

 

5.分支使用命令

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

git log --graph命令可以看到分支合并图:git log --graph --pretty=oneline --abbrev-commit

禁用fast forward合并:git merge --no-ff -m "merge with no-ff" dev

 

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop

stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。

查看工作现场:git stash list


新功能分支:
git checkout -b feature-vulcan

强行删除一个没有被合并过的分支:git branch -D <name>

 

6.多人协作

 
  1. 首先,可以试图用git push origin <branch-name>推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!


如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

 

rebase操作可以把本地未push的分叉提交历史整理成直线;

 

7.标签管理

  • 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;

  • 命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;

  • 命令git tag可以查看所有标签。

  • 命令git push origin <tagname>可以推送一个本地标签;

  • 命令git push origin --tags可以推送全部未推送过的本地标签;

  • 命令git tag -d <tagname>可以删除一个本地标签;

  • 命令git push origin :refs/tags/<tagname>可以删除一个远程标签。


 
 
 
posted on 2018-07-13 14:40  刘晓渔是马尾控  阅读(133)  评论(0)    收藏  举报