通俗易懂的Git入门

6,309 阅读3分钟

本文已参与掘金创作者训练营第三期「话题写作」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力

1. 安装

Windows 平台上安装

安装包下载地址:gitforwindows.org/

官网慢,可以用国内的镜像:npm.taobao.org/mirrors/git…

Mac 平台上安装

下载地址为:

sourceforge.net/projects/gi…

安装界面如下所示:

18333fig0107-tn

Git 配置

Git 有个叫 git config 的工具,专门用来配置或读取相应的工作环境变量。

这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:

  • /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
  • ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
  • 当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。

在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 HOME 变量指定的目录,一般都是 C:\Documents and Settings\USER。

此外,Git 还会尝试找寻 /etc/gitconfig 文件,看 Git 装在什么目录,就以此作为根目录定位。

用户信息

配置个人的用户名称和电子邮件地址:

$ git config --global user.name "runoob"
$ git config --global user.email test@runoob.com

如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。

如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

2. 工作流

一般工作流程如下:

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

wecom-temp-31fd09db65d24a37e3d778e59aad8e10.png

3. 工作区、暂存区和版本库

  • 工作区: 就是你在电脑里能看到的目录。
  • 暂存区: 英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库: 工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

4. 创建仓库

初始化

创建新文件夹,打开,然后执行:

$ git init

克隆

执行如下命令以创建一个本地仓库的克隆版本:

$ git clone /path/to/repository

如果是远程服务器上的仓库,你的命令会是这样子:

$ git clone username@host:/path/to/repository

5. 基本操作

Git 常用的是以下 6 个命令:git clonegit pushgit add 、git commitgit checkoutgit pull

说明:

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

一个简单的操作步骤:

$ git add <filename> / *
$ git commit -m "改动信息"
$ git pull
$ git push

6. 分支

创建分支:

$ git branch <branchname>

切换分支:

$ git checkout <branchname>

合并分支:

$ git merge 

温馨提示:合并分支常常会遇到冲突,需要手动去修改它。

列出分支:

$ git branch <branchname>

删除分支命令:

$ git branch -d <branchname>

7. 标签和提交历史

比如说,我们想为我们的项目发布一个"1.0"版本:

$ git tag -a v1.0 

Git 提交历史一般常用两个命令:

  • git log - 查看历史提交记录。
  • git blame  - 以列表形式查看指定文件的历史修改记录。

8. 常用连贯作业

// 回退到指定版本
$ git reset --hard <某次 commit 的 ID>
$ git push -f -u origin <分支名称>
// 回退到指定版本
$ git checkout -b <分支名称>
$ git push origin <分支名称>
$ git push --set-upstream origin <分支名称>
// 分支 1 合并到分支 2
$ git checkout <分支 2 >
$ git merge <分支 1 >
// 删除分支
$ git branch -D <分支名称>
$ git push origin --delete <分支名称>

9. 参考资料