1,Git简介
Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种:
- 本地仓库:开发人员自己电脑上的Git仓库
- 远程仓库:远程服务器上的Git 仓库
commit:提交,将本地文件和版本信息保存到本地仓库
push:推送,将本地仓库文件和版本信息上传到远程仓库
pull:拉取,将远程仓库文件和版本信息下载到本地仓库
2,Git下载与安装
下载地址: https://git-scm.com/download
安装完成后在任意目录点击鼠标右键,如果能看到如下菜单则表示安装完成:
- Git GUl Here:打开Git图形界面
- Git Bash Here:打开Git命令行(常用)
3,Git常用命令
3.1 Git全局配置
当安装Git后首先要做的事情是设置用户名称和email地址。这非常重要,因为每次Git提交都会使用该用户信息。
在Git命令行中执行下面命令:
- 设置用户信息
git config --global user.name “user”
git config --global user.email “123@qq.com” - 查看配置信息
git config --list
注意:上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。
3.2 获取Git仓库
要使用Git对我们的代码进行版本控制,首先需要获得Git仓库,获取Git仓库通常有两种方式:
- 在本地初始化一个Git仓库(不常用)
- 从远程仓库克隆(常用)
①本地初始化Git仓库
执行步骤如下:
- 在任意目录下创建一个空目录(例如repo1)作为我们的本地Git仓库
- 进入这个目录中,点击右键打开Git bash窗口
- 执行命令:git init
如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功
②从远程仓库克隆
可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
命令形式: git clone [url],url为远程Git仓库地址
3.3 工作区、暂存区、版本库概念
工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
3.4 Git工作区中文件的状态
Git工作区中的文件存在两种状态:
- untracked:未跟踪(未被纳入版本控制)
- tracked:已跟踪(被纳入版本控制)
-
- Unmodified:未修改状态
-
- Modified已修改状态
-
- Staged已暂存状态
-
注意:这些文件的状态会随若执行Git的命令发生变化
3.5 本地仓库操作
本地仓库常用命令如下:
- git status:查看文件状态
- git add [fileName]:将文件fileName的修改加入暂存区
- git reset:将暂存区的文件取消暂存
- git reset --hard [版本号]:切换到指定版本
- git commit -m “注释说明”:将暂存区的文件修改提交到版本库
- git log:查看日志
扩充:
将所有文件提交暂存区:git add . ,git add --all,git add *
注意:对文件进行修改时,需要先git add 将文件加入暂存区,git commit 将文件提交到版本库,再推送至远程仓库
3.6 远程仓库操作
关于远程仓库的一些操作,具体包括:
- git remote:查看远程仓库
- git remote -v:查看远程仓库地址
- git remote add [shortName] [url]:添加远程仓库,shortName是自己为该远程仓库取的简称,一般写为origin,url为远程仓库地址
- git clone [url]:从远程仓库克隆
- git pull [shortName] [branch-name]:从远程仓库拉取,shortName为仓库别名,也就是简称,branch-name为哪个分支
- git push [shortName] [branch-name]:推送到远程仓库
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )
解决此问题可以在git pull命令后加入参数** --allow-unrelated-histories**
3.7 分支操作
分支是Git使用过程中非常重要的概念。使用分支你可以把你的工作从开发主线上分离开来,以免影响开发主线。同一个仓库可以有多个分支,各个分支相互独立,互不干扰。通过git init命令创建本地仓库时默认会创建一个master分支。
分支的相关命令,具体如下:
- git branch:查看分支
- git branch [branchName]:创建分支branchName
- git checkout [branchName]:切换分支branchName
- git push [shortName] [branchName]:推送至远程仓库分支
- git merge [branchName]:将brandName分支合并到当前分支
扩充:
git branch:列出所有本地分支
git branch -r:列出所有远程分支
git branch -a:列出所有本地分支和远程分支
git checkout -b [branch]:创建并切换到该分支
注意:
手动处理文件合并问题时,若出现 fatal:cannot do a partial commit during a merge,可以在语句后加 -i
如:git commit -m “处理文件合并问题” text.txt -i
3.8 标签操作
Git 中的标签,指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。比较有代表性的是人们会使用这个功能来标记发布结点(v1.0、v1.2等)。
标签相关的命令:
- git tag:列出已有的标签
- git tag [tagName]:创建标签
- git push [shortName] [tagName]:将标签推送至远程仓库
- git checkout -b [branch] [tagName]:检出标签
注:
- 标签一旦设置,此时仓库的文件状态就已经定格,不会再改变,任何时候检出该标签都是此状态,就像拍照一样,快门一按下,画面就已经定格,不会再发生改变;
- 检出标签时需要新建一个分支来指向某个标签;
本文到此结束,感谢收看!