benzhou 发表于 2018-1-15 08:13:21

sublime 集成git插件,及git常用命令

  以前用了很久的totoiseSVN,显然不够高大上,开发界的版本装x利器还得是git。然而git的命令行对没怎么用过linux的人可能觉得还不如用gitGUI,可是当你知道sublime可以集成git插件的时候,你就会改变自己的想法了,真心方便。
  1. 安装git客户端,最常用的msysgit,具体步骤就略过了,大家自行搜索吧。
  2. sublime安装git插件
  Ctrl+shift+P,调出 install package面板,然后搜索git,回车安装
  3. 配置git公钥,此处以gitHub为例,你也可以参考 git 在linux下服务端搭建 自己搭建一个git服务端
  然后通过将公钥添加到服务端进行身份的认证
  4. 初始化本地的git配置信息
  

git config --global user.name "username"  
git config
--global user.email "username@email.com"  

  再设置一下push的参数,因为sublime的插件中push动作并不能接收参数
  

git config --global push.default matching #代表提交所有匹配的分支  

  5. 然后就可以通过sublime的Ctrl+Shift+P调用git:init命令创建一个git仓库
  执行命令后会要求你选择一个目录,选择后即可在该目录下新建文件进行git的各种操作了
  6. git常用命令解析
  其实大多数情况下,我们的开发无非就是修改、提交、获取、推送到远程
  git与svn的一点区别就是commit并不会提交到远程服务端,push才是真正的提交到服务端
  因此,我们可以理解为
  

git:add#把文件添加进去,实际上就是把文件修改添加到暂存区  
git:commit #提交更改,实际上就是把暂存区的所有内容提交到当前分支
  
git:push #讲缓存中的修改推送到远程服务端
  

  
当然git:add 和 git:commit 也可以使用 git:commit
-am "comment content" 两步合并为一步执行  

  重要提醒:修改文件后如果不执行add直接commit是无效的
  版本的回退
  

git reflog #查看历史版本,然后根据现实的版本号回退  
git reset
--hard HEAD^ #回退到上一个版本  
git reset
--hard HEAD^^ #回退到上上一个版本  
git reset
--hard HEAD~100 #回退到100个以前的版本  
git reset
--hard 3628164 #回退到3628164这个版本  

  场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
  场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
  场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
  删除文件
  

git rm filename #从git删除文件,执行后还需要commit和push才能最终在远程生效  
git checkout
--filename #检出最新的已经commit的版本,可以用于恢复版本或者恢复删除的文件  

  从远程主机获取
  

git remote add origin git@github.com:yourname/learngit.git #从远程主机获取  
git push
-u origin master #推送到远程主机,首次运行在命令行模式下,运行一次之后再到sublime中直接使用git push即可默认以master分支进行上传  

  分支
  

Git鼓励大量使用分支:  

  
查看分支:git branch
  

  
创建分支:git branch
<name>  

  
切换分支:git checkout
<name>  

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

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

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

强制删除分支:git branch -D <name> #没合并的情况下是禁止删除的,需要强制删除  

  多人协作开发,远程push和pull
  

查看远程库信息,使用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,如果有冲突,要先处理冲突。
  

  文件忽略
  

忽略某些文件时,需要编写.gitignore;  
.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
  

  国外某大神做的git常用命令图
https://images2015.cnblogs.com/blog/212228/201608/212228-20160825161934538-201977158.png
  详细教程,参考廖老师的git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
页: [1]
查看完整版本: sublime 集成git插件,及git常用命令