|
|
@@ -1,22 +1,22 @@ |
|
|
|
# 代码管理相关知识点 |
|
|
|
## Git |
|
|
|
- Git的概念 |
|
|
|
### Git的概念 |
|
|
|
|
|
|
|
Git是一个开源的分布式版本控制系统,它能够高效地处理从小到大的项目。 |
|
|
|
Git是一个开源的分布式版本控制系统,它能够高效地处理从小到大的项目。 |
|
|
|
|
|
|
|
- 三个区域的概念 |
|
|
|
#### 三个区域的概念 |
|
|
|
|
|
|
|
- 工作区 |
|
|
|
- 工作区 |
|
|
|
|
|
|
|
平时存放项目的地方,可以在工作区直接修改。 |
|
|
|
平时存放项目的地方,可以在工作区直接修改。 |
|
|
|
|
|
|
|
- 暂存区 |
|
|
|
- 暂存区 |
|
|
|
|
|
|
|
用于临时存放改动,保存即将提交的文件列表信息。 |
|
|
|
用于临时存放改动,保存即将提交的文件列表信息。 |
|
|
|
|
|
|
|
- 仓库区(版本库) |
|
|
|
- 仓库区(版本库) |
|
|
|
|
|
|
|
就是安全存放数据的位置,这里面有提交到所有版本的数据(版本快照)。 |
|
|
|
就是安全存放数据的位置,这里面有提交到所有版本的数据(版本快照)。 |
|
|
|
|
|
|
|
- 仓库的概念 |
|
|
|
|
|
|
@@ -41,144 +41,179 @@ |
|
|
|
|
|
|
|
|
|
|
|
## SourceTree |
|
|
|
- SourceTree的概念 |
|
|
|
### SourceTree的概念 |
|
|
|
|
|
|
|
- SourceTree 是 Windows 和Mac OS X 下免费的 **Git 客户端,**拥有可视化界面,容易上手操作。 |
|
|
|
- SourceTree 是 Windows 和Mac OS X 下免费的 **Git 客户端,**拥有可视化界面,容易上手操作。 |
|
|
|
|
|
|
|
- 仓库相关操作 |
|
|
|
### 仓库相关操作 |
|
|
|
|
|
|
|
- **创建本地仓库** |
|
|
|
#### **创建本地仓库** |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- **打开本地仓库** |
|
|
|
#### **打开本地仓库** |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- **克隆远程仓库** |
|
|
|
#### **克隆远程仓库** |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- **获取** |
|
|
|
#### **获取** |
|
|
|
|
|
|
|
获取是从远程仓库获取信息并同步至本地仓库(获取只会同步到本地仓库,不会更改工作文件) |
|
|
|
获取是从远程仓库获取信息并同步至本地仓库(获取只会同步到本地仓库,不会更改工作文件) |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- **关联远程仓库** |
|
|
|
#### **关联远程仓库** |
|
|
|
|
|
|
|
-  |
|
|
|
-  |
|
|
|
|
|
|
|
- **节点相关操作** |
|
|
|
### **节点相关操作** |
|
|
|
|
|
|
|
- **提交** :将工作区的内容放到仓库的这个过程叫做提交。将写完后的文档先添加到暂存区,然后再写日志提交。每一次提交产生一个节点。 |
|
|
|
#### **提交** |
|
|
|
|
|
|
|
- **重置**(将修改后在未暂存区的东西,恢复修改前的版本) |
|
|
|
将工作区的内容放到仓库的这个过程叫做提交。将写完后的文档先添加到暂存区,然后再写日志提交。每一次提交产生一个节点。 |
|
|
|
|
|
|
|
 |
|
|
|
#### **重置** |
|
|
|
|
|
|
|
- **回滚提交**:是指将改动的代码提交到本地仓库,但未推送到远端仓库的时候 |
|
|
|
(将修改后在未暂存区的东西,恢复修改前的版本) |
|
|
|
|
|
|
|
- **重置当前分支到此次提交**:是指将改动的代码提交到本地仓库后,并已推送到远端仓库的时候 |
|
|
|
 |
|
|
|
|
|
|
|
- **分支相关操作** |
|
|
|
#### 回滚提交 |
|
|
|
|
|
|
|
- **新建分支**:创建的分支和主分支是完全一样的东西,新建分支旁边有圈代表分支激活,东西保存在该分支当中。 |
|
|
|
是指将改动的代码提交到本地仓库,但未推送到远端仓库的时候 |
|
|
|
|
|
|
|
 |
|
|
|
#### **重置当前分支到此次提交** |
|
|
|
|
|
|
|
- **合并分支** |
|
|
|
是指将改动的代码提交到本地仓库后,并已推送到远端仓库的时候 |
|
|
|
|
|
|
|
激活master,选择要合并的支线,点击确定,将支线的所有变化的节点打包创建一个新节点合并过去。 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
### **分支相关操作** |
|
|
|
|
|
|
|
- 变基 |
|
|
|
#### **新建分支** |
|
|
|
|
|
|
|
 |
|
|
|
创建的分支和主分支是完全一样的东西,新建分支旁边有圈代表分支激活,东西保存在该分支当中。 |
|
|
|
|
|
|
|
以分支为基合并到master里面 |
|
|
|
 |
|
|
|
|
|
|
|
 |
|
|
|
#### **合并分支** |
|
|
|
|
|
|
|
将之前的提交合并后再并入master |
|
|
|
激活master,选择要合并的支线,点击确定,将支线的所有变化的节点打包创建一个新节点合并过去。 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- **删除分支** |
|
|
|
 |
|
|
|
|
|
|
|
第一步先激活主分支 |
|
|
|
- 变基 |
|
|
|
|
|
|
|
· |
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
以分支为基合并到master里面 |
|
|
|
|
|
|
|
- **切换分支** |
|
|
|
 |
|
|
|
|
|
|
|
双击分支名字,出现小圆圈为激活状态。 |
|
|
|
将之前的提交合并后再并入master |
|
|
|
|
|
|
|
- **制造冲突** |
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
#### Source Tree三种合并和区别 |
|
|
|
|
|
|
|
- **解决冲突** |
|
|
|
混合合并: |
|
|
|
|
|
|
|
在需要提交的文件里面自己手动保留要更改的内容,然后鼠标右键选择已经解决冲突。还有一种方式是以我为准就是保存master的,以别人为准就是合并时候保存分支的。 |
|
|
|
是指将此次提交回滚到指定的位置,但这个过程中不会将修改过的文件暂存到暂存区,而是将修改过的文件存放在未暂存文件区。 |
|
|
|
|
|
|
|
- **拉取** |
|
|
|
强行合并: |
|
|
|
|
|
|
|
选择从远端仓库中哪个分支获取。 |
|
|
|
是指将此次提交回滚到指定的位置,但这个过程中将直接丢弃之前修改的所有文件。 |
|
|
|
|
|
|
|
 |
|
|
|
软合并: |
|
|
|
|
|
|
|
- **推送** |
|
|
|
软合并是指将此次提交回滚到指定提交位置,但这个过程中会将修改过的文件暂存到暂存区。 |
|
|
|
|
|
|
|
选择要发送到远端仓库的分支,点击推送。 |
|
|
|
#### **删除分支** |
|
|
|
|
|
|
|
 |
|
|
|
第一步先激活主分支 |
|
|
|
|
|
|
|
- 其他 |
|
|
|
· |
|
|
|
|
|
|
|
- 书写忽略文件 |
|
|
|
|
|
|
|
或者在这个隐藏文件中添加忽略的东西,可以是精确文件名,也可以是某一类后缀如*.txt,或者某个文件夹下的文件如/abc |
|
|
|
|
|
|
|
 |
|
|
|
#### **切换分支** |
|
|
|
|
|
|
|
- 停止跟踪 |
|
|
|
双击分支名字,出现小圆圈为激活状态。 |
|
|
|
|
|
|
|
 |
|
|
|
#### **制造冲突** |
|
|
|
|
|
|
|
停止跟踪后就不在受到版本管控 |
|
|
|
 |
|
|
|
|
|
|
|
- 创建补丁 |
|
|
|
#### **解决冲突** |
|
|
|
|
|
|
|
 |
|
|
|
在需要提交的文件里面自己手动保留要更改的内容,然后鼠标右键选择已经解决冲突。还有一种方式是以我为准就是保存master的,以别人为准就是合并时候保存分支的。 |
|
|
|
|
|
|
|
- 应用补丁 |
|
|
|
### **拉取** |
|
|
|
|
|
|
|
 |
|
|
|
选择从远端仓库中哪个分支获取。 |
|
|
|
|
|
|
|
- 贮藏 |
|
|
|
 |
|
|
|
|
|
|
|
贮藏相当于保留这一次更改到贮藏区域,但是不提交,以后的更改还是争对上一次提交。 |
|
|
|
### **推送** |
|
|
|
|
|
|
|
- __丢弃__:放弃之前修改的文件,恢复上一次提交状态 |
|
|
|
选择要发送到远端仓库的分支,点击推送。 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- **移除**:(直接删除文件) |
|
|
|
### 其他 |
|
|
|
|
|
|
|
 |
|
|
|
#### 书写忽略文件 |
|
|
|
|
|
|
|
- 创建标签:(方便快速找到) |
|
|
|
或者在这个隐藏文件中添加忽略的东西,可以是精确文件名,也可以是某一类后缀如*.txt,或者某个文件夹下的文件如/abc |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
- 删除标签 |
|
|
|
#### 停止跟踪 |
|
|
|
|
|
|
|
 |
|
|
|
 |
|
|
|
|
|
|
|
停止跟踪后就不在受到版本管控 |
|
|
|
|
|
|
|
#### 创建补丁 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
#### 应用补丁 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
#### 贮藏 |
|
|
|
|
|
|
|
(只能暂存区可以) |
|
|
|
|
|
|
|
贮藏相当于保留这一次更改到贮藏区域,但是不提交,以后的更改还是争对上一次提交。 |
|
|
|
|
|
|
|
#### 丢弃 |
|
|
|
|
|
|
|
放弃之前修改的文件,恢复上一次提交状态(只能暂存区可以) |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
#### 移除 |
|
|
|
|
|
|
|
(直接删除文件) |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
#### 创建标签 |
|
|
|
|
|
|
|
(方便快速找到) |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
#### 删除标签 |
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
|