美文网首页代码世界
git常用命令简介

git常用命令简介

作者: CodingCode | 来源:发表于2017-10-20 10:21 被阅读2次

源代码管理工具git的常用命令简介

Git Overview.jpg

有几个概念:

  1. 所有的改动必须先做add,然后在commit;不管是新增文件,修改文件,还是删除文件。
  2. HEAD指向的就是当前Branch的提交。
    所以如果当前分支是master,那么HEAD就是指向master的提交;如果当前分支是<branch>,那么HEAD就是指向<branch>的提交。

建立SSH连接

这不是必须的,但是可以省去通过SSH访问时每次输入密码的过程。

包括两步:

  1. 在客户端生成证书
$ ssh-keygen -t rsa -C "<yourname>@<yourcompany>.com"     
Generating public/private rsa key pair.
Enter file in which to save the key (/home/<username>/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/<username>/.ssh/id_rsa.
Your public key has been saved in /home/<username>/.ssh/id_rsa.pub.
...
  1. 把证书公钥上传到git服务器
    把/home/<username>/.ssh/id_rsa.pub的内容注册到git服务器上就行,这样在以后git访问可以使用SSH协议就不用输入密码。

代码迁出

  • 迁出master分支
    $ git clone https://<remote>/<repository>.git
    如果前面添加过SSH验证,可以使用如下命令行,可以免去每次输入密码的步骤。
    $ git clone ssh://<remote>/<repository>.git

  • 迁出指定分支,-b <branch>
    $ git clone -b <branch> ssh://<remote>/<repository>.git

分支管理

  • 创建本地分支:git branch <branch>
  • 切换本地分支:git checkout <branch>
    上述创建本地分支和切换本地分支可以合并成一条命令:
    git checkout -b <branch>
    即,创建并切换到本地分支。
  • 推送本地分支到远程仓库:git push -u origin <branch>
    注意,本地创建的分支对其他用户是不可见的,必须推送到服务端。-u选项标志保持本地和远端的跟踪关系。
  • 从远程仓库获取分支:git pull origin <branch>
  • 删除本地分支:git branch -d <branch>
  • 删除远程仓库分支:git push origin :<branch>
    分支名前的冒号代表删除,实际上删除远程仓库分支的命令等价于: git push origin --delete <branch>
    而由于push命令的标准格式是:git push <remote> <localbranch>:<remotebranch>,当localbranch为空时,我们可以理解成把一个本地的空分支push到远程仓库代替远程分支,这变相就是要删除一个远程分支。
  • 查看本地分支:git branch
  • 分支合并:git merge <branch>
    把分支<branch>合并到当前分支

远程管理

前面看到有一个词origin,这个是什么意思呢,就是代表一个远端服务器;远程管理可以查看并管理(添加,删除,修改)所有的远端服务器。

$ git remote
origin
$ git remote -v
origin  ssh://<remote>/<project>.git (fetch)
origin  ssh://<remote>/<project>.git (push)

从这里可以看到origin指向的是远程哪一个服务器地址。

pull和fetch

$ git pull origin <branch>
很多童鞋都推荐使用下面的两个组合命令来代替pull命令。
$ git fetch
$ git merge origin/<branch>

fetch的功能是从远程仓库下载分支到本地分支,merge再从本地分支合并到当前工作目录;在合并之前我们可以使用diff命令查看下载来的分支,和本地工作目录之间的差异,从而选择如何进行合并:
$ git log -p <branch>..origin/<branch>

revert和reset

这两个命令都是用来做回撤,比如发现前面做的方法不对,需要丢弃。
个人觉得git是最难用的源代码版本管理工具,太过于专业,功能太强大,以至于使用起来过于复杂,作为工具易用性是最主要的,这点git做的不好;不过git的revert/reset回撤功能确实是做的相当完美的,给程序员们纠正历史错误提供了很大的方便。

revert只回撤一个具体的commit,把指定commit的所有代码修改以相反的格式转换回来,并把所有回撤的文件以修改的方式存在在本地工作目录,用户可以继续修改这些文件,然后再做commit。

$ git revert 87504be
[master 984d412] Revert "Add fullname support"
 2 files changed, 2 insertions(+), 2 deletions (-)

那么87504be就会被回撤,他的所有文件改动会显示在当前工作区。

而reset会回撤到历史上的某一个commit,这个commit之后的所有commit都会回撤(这和revert不同),参数--hard和--soft决定是否直接丢弃回撤后的代码改动,还是把所有的代码改动存在本地工作目录,用户可以继续修改这个改动,再做commit。

git reset --hard 87e18d9

这样87e18d9之后的所有commit都被丢弃,本地工作目录存放的是87e18d9时的代码。

相关文章

  • Git命令集合

    Git基础命令 git远程关联 git远程关联移除 git命令简单简介 常用命令集合:git init创建版本库 ...

  • Git从入门到使用

    对于git命令全了解 Git常用命令简介 git rebase 命令和merge命令作用相似。如果你想要一个干净的...

  • git相关教程汇总

    1. git常用命令 git常用命令总结git常用命令讲解 2. git教程相关网站 廖雪峰的git教程猴子都能懂...

  • git命令整理

    git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...

  • git操作

    Git原理 Git常用命令

  • Git 常用命令及应用这一篇就够了(新手向)

    1. git 常用命令 1.1 常用命令 1.2 git remote 管理远程仓库 1.3 git r...

  • Git 常用操作

    常用命令图: 常用命令 查看本地、远端、全部分支 git branch git branch -r git bra...

  • Git指南 - 3个小时搞定git

    先奉上Git常用命令速查表,方便大家查阅。 再来个目录说明,大家可以根据自己所需进行选择学习 1 git简介 Gi...

  • Git 常用命令详解

    @[TOC](Git 常用命令详解) 1. Git 常用命令 1.1 常用git 命令图表汇总 1.2 配置个人信...

  • git 命令

    Git常用命令总结Git常用命令总结 git init 在本地新建一个repo,进入一个项目目录,执行git ...

网友评论

    本文标题:git常用命令简介

    本文链接:https://www.haomeiwen.com/subject/rbxpuxtx.html