更新时间:2023-05-06 GMT+08:00

Git客户端使用

背景信息

使用Git客户端前,需要了解Git安装、创建新仓库、检出仓库、工作流、添加与提交、推送改动、创建分支、更新与合并分支、创建标签、替换本地改动等基本操作。

前提条件

已安装Git客户端。

使用流程

Git客户端基本使用流程如下图所示。

表1 使用流程说明

操作步骤

说明

安装

根据需要安装对应版本:

  • Git Windows版
  • Git OSX版
  • Git Linux版

新建仓库

创建并打开新文件夹,然后执行如下命令:

git init

以创建新的Git仓库。

检出仓库

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

git clone /path/to/repository

如果是远端服务器上的仓库,命令为:

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

工作流

本地仓库由Git维护的三棵“树”组成:

  • 工作目录:持有实际文件。
  • 缓存区(Index):像个缓存区域,临时保存做的改动。
  • HEAD:指向最近一次提交后的结果。

添加与提交

将改动内容添加到缓存区,使用如下命令:

git add <filename>
git add *

这是Git基本工作流程的第一步;使用如下命令提交实际改动:

git commit -m "代码提交信息"

此时改动已经提交到了HEAD,但是还没到远端仓库。

推送改动

改动内容目前已经在本地仓库的HEAD中。执行如下命令以将这些改动提交到远端仓库:

git push origin master

可以将master换成需要推送的任何分支。

如果没有克隆现有仓库,且需要将仓库连接到某个远程服务器,可以使用如下命令添加:

git remote add origin <server>

将改动推送到所添加的服务器上。

创建分支

分支是用来将特性开发绝缘开来的。在创建仓库时,master是“默认的”主分支。在其他分支上进行开发,完成后再将它们合并到主分支上。

  1. 创建一个名为“feature_x”的分支,并切换过去:
    git checkout -b feature_x
  2. 切换回主分支:
    git checkout master
  3. 将分支推送到远端仓库(不推送该分支,仅自己所见):
    git push origin <branch>
  4. 再把新建的分支删掉:
    git branch -d feature_x

更新与合并(分支)

  1. 更新本地仓库至最新改动,执行:
    git pull

    以在你的工作目录中获取(fetch)并合并(merge)远端的改动。

  2. 合并其他分支到当前分支(如master),执行:
    git merge <branch>
    说明:

    两种情况下,Git都会尝试去自动合并改动。但自动合并并非次次都能成功,并可能导致冲突(conflicts)。这时候就需要修改这些文件,手动合并这些冲突(conflicts)。

  3. 改完之后,需要执行如下命令将它们标记为合并成功:
    git add <filename>
  4. 在合并改动之前,也可以使用如下命令查看:
    git diff <source_branch> <target_branch>

创建标签

在软件发布时创建标签,是被推荐的。可以执行如下命令以创建一个名为“1.0.0”的标签:

git tag 1.0.0 1b2e1d63ff

“1b2e1d63ff”是要标记的提交ID的前10位字符。使用如下命令获取提交ID:

git log

也可以用该提交ID的少一些的前几位,保持ID唯一即可。

替换本地改动

如果误操作,可以使用如下命令替换掉本地改动:

git checkout -- <filename>

此命令会使用HEAD中的最新内容替换掉工作目录中的文件。已添加到缓存区的改动,以及新文件,均不受影响。

如果需要丢弃所有的本地改动与提交,可以到服务器上获取最新的版本并将本地主分支指向到它:

git fetch origin
git reset --hard origin/master