Git

Git & Github 常见命令与概念

2018-12-19  本文已影响17人  胖三斤66

一、常见命令

1.2 分支相关的命令

1.3 标签相关的命令

1.4 SSH

提前申明, windows 系统并不自带 SSH, 安装了 Git 之后才带有 SSH。

1.5 Github 操作

1.6 补充命令

二、常用概念

2.1 工作区、暂存区与 HEAD

工作区、暂存区与 HEAD 参考:http://rogerdudler.github.io/git-guide/index.zh.html

在实际中,工作区有一个隐藏目录 .git ,它不属于工作区,而是 Git 的版本库。Git 的版本库里存了很多东西,其中最重要的就是称为 stage(或者叫 index )的暂存区,还有Git为我们自动创建的第一个分支 master,以及指向master的一个指针叫 HEAD。

实际目录中,三者的联系 参考:https://www.liaoxuefeng.com

2.2 分支 branch

stormzhang 从0开始学习 GitHub 系列之「团队合作利器 Branch」

2.3 标签 tag

本质:标签作用于提交上,可以看成是某个提交的别称。

运用:主要用于标记软件的版本号。

2.4 SSH

简单点说,SSH是一种网络协议,用于计算机之间的加密登录。目前是每一台 Linux 电脑的标准配置。而大多数 Git 服务器都会选择使用 SSH 公钥来进行授权,所以想要在 GitHub 提交代码的第一步就是要先添加 SSH key 配置。

命令生成的密钥会存放在两个文件 id_rsaid_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。这两文件默认分别在如下目录里生成:

Linux/Mac 系统 在 ~/.ssh 下,win系统在 /c/Documents and Settings/username/.ssh 下,都是隐藏文件,相信你们有办法查看的。

接下来要做的是把 id_rsa.pub 的内容添加到 GitHub 上,这样你本地的 id_rsa 密钥跟 GitHub 上的 id_rsa.pub 公钥进行配对,授权成功才可以提交代码。

2.5 Github 操作

Push

如果你本地代码有更新,那么就需要把本地代码推到远程仓库,这样本地仓库跟远程仓库就可以保持同步了。

Pull

如果远程仓库有更新,那么需要把远程仓库的最新代码更新到本地,然后保证两端代码的同步。一般我们在 push 之前都会先 pull ,这样不容易冲突。

先有远程仓库,后有本地仓库:Clone

使用 git clone 命令,将远程仓库复制到本地中。然后,修改本地仓库并进行 git commit。之后,git push origin master 将本地仓库的修改提交到远程仓库中

通过 git clone 命令复制的仓库,不需要使用 git init 初始化,同时也不需要声明与远程仓库关联(因为已经声明了)。

先有本地仓库,后有远程仓库:关联本地已有项目

如果我们本地已经有一个完整的 git 仓库,并且已经进行了很多次 commit ,我们想将本地仓库提交到 github 上。

假设本地仓库 test2,要提交到 github test 项目中,一般步骤是:

  1. 在 github 创建 test 项目
  2. 在 test2 目录中输入 git remote add origin git@github.com:xxxx/test.git 将本地 test2 项目与 github 的 test 项目关联起来
  3. git push origin master

合并操作:merge & rebase

git merge branch_agit rebase branch_a 的效果是一样,都是将 branch_a 分支合并到当前的分支中。但两者合并方式不同:rebase 跟 merge 的区别你们可以理解成有两个书架,你需要把两个书架的书整理到一起去,

合并冲突

如果两个分支 a,b 同时修改了同一个位置时,合并到 master 时就会报冲突。不管两个分支合并的先后顺序、中间是否还合并了其他的分支(即任何情况下),都会报冲突。

虽然会报冲突,但在发生冲突的位置,会显示出两个分支修改的内容。你需要手动地进行正确的合并后,再 git add .git commit 就可以了。

参考:

  1. stormzhang 从 0 开始学习 GitHub 系列
  2. git - 简明指南
上一篇下一篇

猜你喜欢

热点阅读