文章目录
- 1:安装
- 1:设置信息
- 2:初始化本地项目仓库
- 2.1:本地仓库目录解释
- 3:git基本原理
- 1:本地流程原理图
- 2:分支合并:merge和rebase
- 3:命令解释
- 4:git-gui界面操作
- 4.1:merge菜单
- 4.2:remote菜单栏
- 5:正确git提交操作流程
- 1:正确的push提交流程
- 2:合并冲突解决
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时。表示多人同时对统一文件的同一行进行了改变,系统不知道采用哪种。必须通过手动解决冲突。