Git介绍

152 阅读4分钟

Git介绍

1.Git全局设置

当安装Git后首先要做的事情是

设置:

(1)用户名称。

(2)email地址。

因为每次Git提交都会使用该用户信息。

可在Git命令行中执行下面的命令:

a.设置用户信息(用户名称和email地址)

git config --global user.name "itcast"

git config --global user.email "hello@itcast.cn"

b.查看配置信息

git config --list

2.获取Git仓库

要使用Git对我们的代码进行版本控制,首先需要获得Git仓库。

获得Git仓库通常有两种方式:

a.在本地初始化一个Git仓库(不常用)

步骤:

(1)在任意目录下创建一个空目录(例如:repo1)来作为我们本地Git仓库。

(2)进入这个目录中,点击右键打开Git bash窗口。

(3)执行命令git init。 若在当前目录中看到.git文件(此文件夹为隐藏文件夹),说明Git仓库创建成功。

注:如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见 显示当前目录下的文件,包含隐藏文件。

b.从远程仓库克隆(常用)

可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地。

命令:git clone [远程Git仓库地址]

3.版本库、工作区、暂存区概念

版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。

工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码。

暂存区:.git文件夹中也有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方。

4.Git工作区中文件的状态

Git工作区中的文件存在两种状态:

a.untracked未跟踪(未被纳入版本控制)

b.tracked已跟踪(被纳入版本控制)

(1)Unmodified未修改状态

(2)Modified已修改状态

(3)Staged已暂存状态

5.本地仓库操作

本地仓库常用命令如下:

  • git status 查看文件状态

  • git add 将文件(的修改)加入暂存区

  • git reset 将暂存区的文件取消暂存或者是切换到指定版本。例如,git reset --hard 版本信息

  • git commit 将暂存区的文件修改提交到版本库。例如,git commit -m "编辑信息" 文件名.后缀名

  • git log 查看日志

git区域.png

6.远程仓库操作

  • git remote 查看远程仓库

  • git remote add 添加远程仓库

  • git clone 从远程仓库克隆

  • git pull 从远程仓库拉取

  • git push 推送到远程仓库

注:

运行git remote add来添加一个新的远程仓库,同时指定一个可以引用的简写。通常shortname写成:origin。

如果想要获得一份已经存在了的Git远程仓库的拷贝,这时就要用到git clone命令。Git克隆的是该Git仓库服务器上的几乎所有的数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件。

若将本地仓库内容推送到远程仓库,可使用命令:git push [remote-name] [branch-name]

7.分支操作

分支是Git使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。通过git init命令创建本地仓库时默认会创建一个master分支。

本节我们会学习关于分支的相关命令,具体如下:

  • git branch 列出所有本地分支

  • git branch -r 列出所有远程分支

  • git branch -a 列出所有本地和远程分支

  • git branch [name] 创建分支

  • git checkout [name] 切换分支

  • git push [shortName] [name] 推送至远程仓库分支

  • git merge [name] 合并分支

注:

当手动处理文件合并问题时遇到“cannot do a partial commit during a merge“,可以在原来的git commit -m "message" b1.txt 后面加上参数 -i。

8.标签操作

Git中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便地切换到标记时的状态。比较有代表性的是人们会使用这个功能来标记发布结点(v1.0、v1.2等)。

和标签相关的命令如下:

  • git tag 列出已有的标签

  • git tag[name] 创建标签

  • git push [shortName] [name] 将标签推送至远程仓库

  • git checkout -b [branch] [name] 检出标签:需要新建一个分支来指向某个标签