git基本使用操作
前言: 本篇文章主要介绍git管理项目的一个简单、基本的使用流程。
一. 安装git与SourceTree
1.git的安装
Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
下载链接:https://git-scm.com/download/win
git的安装十分简单,无脑点击下一步即可,安装好git后,用cmd输入git --version查看git版本,可以查看是否已经安装好git,如下图;
2.SourceTree的安装
SourceTree 是一个拥有可视化界面的项目版本控制软件,适用于git项目管理
下载链接:https://www.sourcetreeapp.com/
安装SourceTree,我推荐安装 2.4.8版本的SourceTree,这个版本可以跳过注册账号直接使用,其他版本需要在外网注册一个SourceTree的账号,才可以安装,如果可以翻墙,也可以使用其他版本的SourceTree;
2.4.8版本的SourceTree链接: https://pan.baidu.com/s/1U-8ccartDiZmhneknUlZqw 提取码: 2si2
2.4.8版本跳过注册操作方法
下载好之后会有这么一个界面要求你注册或登录。先不管他"%LocalAppData%\Atlassian\SourceTree"
将这行路径复制到文件地址栏,可以进入SourceTree的安装目录,在安装目录下,添加一个文件,“accounts.json”,json为文件后缀,之后使用记事本打开这个文件,在文件中输入以下代码,保存文件,并重新启动SourceTree即可跳过注册步骤
[
{
"$id": "1",
"$type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
"Authenticate": true,
"HostInstance": {
"$id": "2",
"$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount",
"Host": {
"$id": "3",
"$type": "SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount",
"Id": "atlassian account"
},
"BaseUrl": "https://id.atlassian.com/"
},
"Credentials": {
"$id": "4",
"$type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
"Username": "",
"Email": null
},
"IsDefault": false
}
]
上图为安装好的SourceTree软件;
二. 创建git远程仓库
1.注册“码云账号”
要想使用远程仓库,首先要注册一个gitee,就是码云,链接:https://gitee.com/
2.创建远程仓库
注册好码云之后,进入个人中心,点击下图位置,进入创建仓库页面
输入仓库名称,写仓库介绍(推荐),点击创建按钮,完成远程仓库的创建;
创建好的仓库如下图
三. 创建本地仓库
创建好远程仓库之后,点击HTTPS,会有一串路径,点击路径右边复制按钮,复制路径,把路径复制到SourceTree里边,如下图位置,可以看到SourceTree检测出来这是一个git仓库
选择存放本地仓库的路径,点击克隆,本地仓库就创建好了
将隐藏的项目打开,可以看到一个git的文件夹,这个就是本地仓库
四. "提交"操作
1.放入需要提交的文件
在本地仓库的路径中,建立一个txt文本,写上内容
2.暂存
打开SourceTree,点击提交
这时候SourceTree的提交界面发生变化,我们可以看到在本地仓库的文件夹内放入的txt文件在界面中显示出来了,点击暂存需要提交的文件,
暂存后,文件在已暂存列表中,写好提交的日志说明,点击提交按钮,提交操作就做完了
五. "推送(push)"操作
在进行提交操作之后,点击推送按钮,在弹出的界面选择推送的分支
点击推送,提交的文件就会出现在远程仓库
六. "拉取(pull)"操作
当我们对远程仓库的文件进行修改时,或者有多人同时进行修改时,我们需要保证自己本地仓库的文件为最新版本,与远程仓库保持一致,我们要使用拉取操作;打开远程仓库,选择test2.txt文件,点击编辑
我们可以看到这是一个空的文本,写上内容,点击提交,如图;
这时候,我们本地仓库的文件并没有修改,修改的只是远程仓库中的文件。
打开SourceTree,点击拉取,选择要拉取的分支,点击确定,先不用管其他
拉取之后,在日志中查看,可以看到我们在远程仓库的test2文本中添加的内容出现在了本地仓库,我们在文件夹中查看,test2文本做出了修改,与远程仓库保持一致
同理,当多人同时完成项目的时候,他人推送在远程仓库的文件,我们也可以使用拉取功能保存在本地仓库,保证自己的代码始终是最新的版本。
七. 分支
创建新分支
在SourceTree中,点击远程,选中master分支,点击右键选择检出分支
在弹出的界面修改为新建分支的名称,点击确定。
这样我们就创建了一个本地分支,但是这个分支是在本地,我们需要用推送操作,上传到远程仓库,点击推送,选择分支dev,点击推送。
打开远程仓库,可以看到dev分支推送成功。
每个分支之间互不相通,修改master分支并不会影响dev分支的内容,利用分支功能,可以将项目的不同版本分开,互不影响,新版本出现bug后,可以回退到上一版本。
在本地仓库的dev分支中推送一个文件;
可以看到不同分支推送文件,分支之间不受影响。
!注意事项
在推送文件之前,应先进行拉取操作,保持本地与远程文件一致。
例:当远程仓库发生改动时,将内容改成555555
但是本地仓库这时候的内容还是444444,没有进行拉取,这时候我们在本地仓库修改test3,修改内容为666666,进行推送。
这时候会报错因为远程内容与本地内容并不一致,所以在推送之前,应当先拉取最新文件,再进行推送。
解决方法:点击拉取,获取最新文件,我们看到远程内容为555555,本地内容为666666,我们在选择其中一个内容,删去其他多余文字,然后进行推送
远程仓库的内容变更为选择的666666
这种情况通常发生在多人协作完成的时候,同时修改一个文件就有发生的可能性。