git版本管理工具

1:安装

git是一种最常用的代码版本管理工具
windows安装:https://git-scm.com/download/win
git通过自己的秘钥和配置服务器上的秘钥进行关联,以便于版本管理

1:设置信息

安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改

$ git config --global user.name "John Doe"
$ git config --global user.email 123456789@example.com
查看配置: git config --list
命令帮助: git help <verb>

2:初始化本地项目仓库

对于项目我们需要创建本地仓库,有两种方式。

  • 方式1:直接在远程仓库选择clone,将远程仓库的全部文件复制到本地成为本地仓库

  • 方式2:在想要创建的项目根目录下执行(右键 git bash hear)打开git命令窗口,执行git init后目录下多了一个.git的目录

2.1:本地仓库目录解释

代码根目录下的.get  指代的就是本地仓库

这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。要是删除这个东西,则丢弃项目的所有记录。

3:git基本原理

git status查看项目状态

1:本地流程原理图

本地目录介绍
在这里插入图片描述
本地工作区通过add添加操作到暂存区,由暂存区通过commit操作提交到本地仓库。

  • git包括本地和远程仓库组成

  • 1:本地包括:工作区(代码根目录),暂存区(本地仓库的一块区域),本地仓库(代码跟目录下的.get文件)

  • 2:远程包括:远程仓库,主分支和各分支
    git全流程介绍
    在这里插入图片描述本地仓库通过push操作提交到远程仓库。

2:分支合并:merge和rebase

在 Git 中整合来自不同分支的修改主要有两种方法:merge 以及 rebase。
用于将不同的分支进行合并,比如对各自的分支都进行了修改,如何提交到一起
1:使用merge或者rebase将不同分支的代码合并到一起
2:提交自己的修改到更大的分支中

变基的风险
呃,奇妙的变基也并非完美无缺,要用它得遵守一条准则:
如果提交存在于你的仓库之外,而别人可能基于这些提交进行开发,那么不要执行变基。
所以一般操作时将master分支rebase到自己分支。,再push自己数据到自己分支,提交merge到master的请求给管理员

3:命令解释

repository:仓库
track:开始或停止跟踪文
stage:暂存
commit:提交更改。
push:向你的远程仓库推送
pull:从远程仓库拉取文件
clone :克隆的是该 Git 仓库服务器上的几乎所有数据

4:git-gui界面操作

在这里插入图片描述

1.暂存区:使用命令git add或点击”stage changed”按钮后,工作区变更会添加到该区域。

2.stage changed:将工作区的所有变更提交到添加到暂存区;

3.Commit信息输入框:用于commit时输入变更信息,输入此次提交目的

4.rescan:用于扫描当前git库的变更,包括工作区和索引区的变更;

5.Stage To Commit:添加选中的变更文件到索引区;

6.Stage changed files to commit:添加所有改变文件到索引区;

7.sign off:在commit信息输入框中添加提交人信息,减少手动输入;

8.Commit:提交当前变更到本地仓库;

4.1:merge菜单

1)local merge:分支本地合并操作,弹出操作框,选择要合并的版本(可以选择版本号、本地分支、远端分支或者标签,他们的最新状态都指向了一个确定的版本)。要注意A和并B与B合并A是不同的,在A分支上操作合并B会将B中的所有的文件与A做差异运算(这个与方向无关),差异部分会汇总到A中,此时B的状态不会变更。

2)abort merge:终止merge操作。在合并分支操作中产生冲突,当前git库状态设置为mergeing状态,要求解决冲突后进行其他操作。合并出现冲突时,在文件差异对比的区域会显示出冲突的部分,右键可以启动自定义的差异合并工具。

4.2:remote菜单栏

远端操作相关,多个远端仓库时,呈现多个远端仓库

1)fetch:从远端仓库获取更新;

2)remove remote:删除与远端库链接;

3)add:添加远端git库,弹出添加操作框,输入远端库名(可自定义)和仓库链接(初始clone代码时的连接);

4)push:推送本地变更到服务器,会弹出push操作的操作框,与基本按钮区的push按钮操作相同。推送时git的默认设置只允许推送到与本地分支同名的远端分支,如果远端只有一个主分支,本地自建了多个分的的话无法直接完成推送。可以自行修改,不过风险比较大。

5)delete branch:删除远端分支,弹出选择框,选择远端库、远端分支名及操作选项。

5:正确git提交操作流程

1:正确的push提交流程

push前可能别人已经push过,对远程仓库进行了改变。为了避免冲突所以每次push到远程的时候,正确流程如下

  • 1:commit需要提交的代码到本地仓库
  • 2:创建本地分支
  • 3:将远程仓库master主分支pull到本地分支master。
  • 4:将本地分支和本地masrrebase进行代码合并,选择rebase或者merge
  • 5:合并没有冲突后push本地分支到远程分支,等待管理员合并

2:合并冲突解决

冲突发生在merge或者rebase时。表示多人同时对统一文件的同一行进行了改变,系统不知道采用哪种。必须通过手动解决冲突。


版权声明:本文为weixin_43930865原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。