目录
一、什么是Git
二、安装Git
2.1 下载Git
2.2 安装Git
2.3 检测是否安装成功
三、使用Git管理项目
1.准备
2. 初始化 Git 仓库
3. 配置 Git 使用者的用户名和邮箱(首次使用必须配置)
4. 将代码存储到 Git 仓库中
5、查看文件状态
6、查看日志(提交记录)
7、版本回退
8、通过版本号切换版本
9、创建、切换、合并、删除分支(分支:branch)
10. 推送本地代码文件至 Github/Gitee
11. 克隆云端的项目文件到本地
四、GIT 操作命令汇总
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。Git最为出色的是它的合并追踪(merge tracing)能力。
在我们的工作中,代码量是相当大的,而且都是需要团队进行维护和代码的迭代的,如果仅仅通过拷贝来做相应备份是非常麻烦的,这时候就需要用 Git 来管理我们的代码。而且 Git 可以随意进行版本的切换,假如我们不再想用修改后的版本二,只需要用 GIt 将其还原为版本一即可。
Git的安装是很简单的,在各大应用商店都能下载,这里我们介绍的是Windows系统下的下载与安装,这里我直接在“电脑管家”中的“软件管理”中下载的。
随后出现弹框,依次点击“下一步”。需要注意的是记住 Git 的安装路径,因为想要在开发软件使用 Git 仅仅下载安装还不行,后续还需要在开发软件中进行配置。
1、选择安装目录 2、选择组件
3、开始菜单目录名设置 4、选择使用Git的默认编辑器
7、选择后台客户端连接协议 8、配置 Git 文件的行末换行符
9、选择 Git 终端类型 10、选择 Git pull 合并的模式
11、选择凭据管理器 12、其他配置
13、实验室功能 14、安装成功
在任意位置,鼠标右击如果看到有两个git单词则安装成功
(1)首先,我们需要准备好我们的项目,这里我使用“project”项目,进行项目版本管理。
(2 在 project 文件夹下 右键 --> Git Bash Here 打开 Git 命令行;
初始化命令:git init
(1)在 Git 命令行中执行 git init 新建一个文件夹,用于管理我们的代码;git 指的是我们使用 Git 这款软件进行管理,init 意为初始化
(2)当我们执行成功执行 git init 命令后,会在我们的项目下生成一个.git文件,这个就是我们本地的Git仓库,之后 Git 会自动帮我们将代码备份到这个 .git 目录当中。
但是这个文件默认是隐藏的,需要我们按照下面操作,让该文件显示。
初始化 Git 仓库完成之后,就可以在 project 目录中正常进行开发了。
配置用户名命令:git config --global user.name "用户昵称"
配置用户邮箱命令: git config --global user.email "用户邮箱"
进行以上配置后,Git 除每次会将我们的项目相关文件自动备份至 .git 仓库之外,也会自动存储我们的个人信息,这样就知道每一次操作是由谁来进行的了。
步骤一:代码暂存
将代码文件存储至 Git 仓库需要两步,首先使用 git add 添加的文件名 添加代码文件至暂存区,此处的相对路径 ./ 就代表当前目录 project。
将单个文件暂存到Git仓库中:git add 文件名
将文件暂存到本地Git仓库中: git add .
或略某个文件:git
(如果有多个文件需要提交,也可直接输入命令 git add . (这里有个“.”),这样就会把相对路径下的所有代码文件添加至暂存区;)
步骤二:提交到Git仓库
接下来进行存储,使用 git commit -m "说明信息" 将刚添加至暂存区的代码文件提交至仓库,commit 为提交,-m 表示信息,注意说明信息必须写。
将本地仓库缓存提交至远程仓库:git commit -m "说明信息"
注意:当代码文件修改后,重复上面操作,步骤一、步骤二; 先添加暂存 再提交远程 即可;
如果觉得上面两步过于繁琐,在修改若干代码文件后,也可以直接
使用命令: git commit --all -m "说明信息"
直接将目录下的所有文件提交,而不用先暂存到本地仓库。
对于一个代码文件,我们有时候会忘记对它做过那些操作,比如这个文件现在是什么状态?在暂存区?还是已经提交?或者是修改了但未提交?这个时候我们就需要通过 git status 命令查看它的状态。如下:此时未做任何修改且已经提交。
查看文件状态:git status
这里我们可以试着新建一个“like.text”文件,观察以下文件不同的状态。
注意:在使用过程中要注意,“git status”只能查看新建文件的状态,但是,如果新建文件夹操作是查看不到的。
当想要知道已经向GIT仓库提交了多少次文件时,就可以使用命令 git log 来查看日志;如下图,我们能够看到我们提交的所有文件,提交者为 xiaoma
查看日志:git log
为了便于查看我们也可以设置提交日志为一行显示,这样更加精简,命令为 git log --oneline;如下显示有两个版本,前面为版本号,后面为版本描述信息。
查看日志(精简):git log --oneline
如果在修改代码时不小心进行了误操作,比如误删除了代码、代码改错了等,在 GIT 中这些问题都不需要担心,使用命令 git reset --hard head~0 进行版本回退即可,reset 意为重置, head 表示离当前版本最相近的上一版本,~0 则代表往前回退一次,~1 则代表两次...,如下图表示目前处于 3eb3fb4 版本。
版本回退:git reset --hard head~0
如果一个项目中版本有很多,这时候再用版本回退的方式就显得有点笨重且不准确。而更简单的方式就是直接通过版本号切换版本,能够回到想要的版本,命令为 git reset --hard 版本号;
通过版本号切换版本:git reset --hard 版本号
但此时也会有一个问题,版本号过多时我们很难记忆,而且在切换版本之后,再使用 git log 命令显示日志也只会显示当前版本一个日志;那么这个时候我们就可以使用命令 git reflog 来列出所有操作过程中经历的版本号。
显示所有操作过程中经历的版本号:git reflog (查看所有版本号)
在开发过程中如果某个功能做了一半并没有完成,但是也需要提交。而这样的功能直接提交后肯定会影响到整个项目。为了避免这个问题,就需要使用分支,先将未完成的功能提交到自己的分支,待完成后再合并到项目主线当中,互不影响。
在 GIT 中会有一个默认分支 master,接下来我们自己创建一个分支,使用命令 git branch 分支名,不提示则说明创建成功;
创建分支:git branch
要查看当前项目中的所有分支,使用命令 git branch 即可,如下,目前处于 master 分支;
查看当前项目中的所有分支:git branch
切换分支时使用命令: git checkout 分支名;
合并分支时,在当前的分支中,使用命令 git merge 指定分支;意为将当前所在的分支合并到指定分支。
合并分支:git merge 指定分支
想要删除分支时使用命令 git branch -d 分支名,需要注意在删除分支时是不能删除自己当前所在分支的,需要切换后再删除。
删除分支:git branch -d 分支名
在团队协同开发项目中,每个分支的的代码最后需要提交到一个汇总项目文件的地方,大家可以公用,也就是服务器,而通常使用的 Github 或者 码云Gitee 其实就相当于一个云服务器。(注意 GIT 和 Github不是同一个东西,这里我用的Gitee)
(1)首先要注册一个gitee账号
(2)登陆之后,新建一个仓库
(3)创建完成会进入以下界面,仓库地址就是我们推送代码需要使用到的
(4)Gitee 仓库创建完成后,在本地使用命令 git push 云端仓库地址 master 将文件推送至 Gitee,在第一次推送时会让我们输入 Gitee 用户名和密码,输入自己的账号信息即可:
将文件推送至Gitee:git push 远端仓库地址 master
这里我之前已经设置过用户名和密码,所以直接能够推送至Gitee
(5)这时在我们的 Gitee 中就可以看到相关操作提示以及提交的代码文件了;
通过上面的操作,项目文件就存储到我们的 Gitee 仓库当中了,之后有其他成员想得到项目文件只需到 Gitee 中克隆即可;
除此之外也可以在在本地通过命令进行克隆:新建一个文件,初始化 GIt 仓库后,输入命令 git pull 云端仓库地址 分支名 即可将云端项目克隆至本地。
克隆仓库项目:git pull 云端仓库地址 分支名
命令 | 含义 |
---|---|
git init | 初始化Git仓库 |
git config --global user.name "用户昵称" | 配置Git使用者的用户名 |
git config --global user.email "用户邮箱" | 配置Git使用者的邮箱 |
git add ./添加的文件名 | 将指定文件添加至暂存区,以备提交 |
git add . | 将相对路径 ./ 下的所有文件添加至暂存区 |
git commit -m "说明信息" | 将存到暂存区的文件提交至GIT仓库(版本库) |
git commit --all -m "说明信息" | 结合添加和修改,一次性将代码文件提交至GIT仓库 |
git status | 查看文件状态 |
git log | 查看日志(提交记录) |
git log --oneline | 查看日志,结果简洁,一行显示 |
git reset --hard head~0 | 版本回退,0代表回退一次,1代表两次 |
git reset --hard 版本号 | 切换至指定版本号的版本 |
git reflog | 列出操作过程中经历的所有版本号 |
git branch 分支名 | 创建分支 |
git branch | 查看所有分支 |
git checkout 分支名 | 切换分支 |
git merge 指定分支 | 将当前所在的分支合并到指定分支 |
git push 云端仓库地址 分支名 | 将项目文件推送到远程服务器指定的分支 |
git pull 云端仓库地址 分支名 | 将云端的项目文件克隆至本地 |