zoukankan      html  css  js  c++  java
  • 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常用命令图

    详细教程,参考廖老师的git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  • 相关阅读:
    HDU Railroad (记忆化)
    HDU 1227 Fast Food
    HDU 3008 Warcraft
    asp vbscript 检测客户端浏览器和操作系统(也可以易于升级到ASP.NET)
    Csharp 讀取大文本文件數據到DataTable中,大批量插入到數據庫中
    csharp 在万年历中计算显示农历日子出错
    csharp create ICS file extension
    CSS DIV Shadow
    DataTable search keyword
    User select fontface/color/size/backgroundColor设置 字体,颜色,大小,背景色兼容主流浏览器
  • 原文地址:https://www.cnblogs.com/aleafo/p/5807301.html
Copyright © 2011-2022 走看看