Kaynağa Gözat

SourceTreerevise

master
wsk 6 gün önce
ebeveyn
işleme
df77c5f9ed
1 değiştirilmiş dosya ile 115 ekleme ve 80 silme
  1. +115
    -80
      SourceTree/Source Tree.md

+ 115
- 80
SourceTree/Source Tree.md Dosyayı Görüntüle

@@ -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 客户端,**拥有可视化界面,容易上手操作。

- 仓库相关操作
### 仓库相关操作

- **创建本地仓库**
#### **创建本地仓库**

![image-20250708170825330](./pictures/image-20250708170825330.png)
![image-20250708170825330](./pictures/image-20250708170825330.png)

- **打开本地仓库**
#### **打开本地仓库**

![image-20250708170902654](./pictures/image-20250708170902654.png)
![image-20250708170902654](./pictures/image-20250708170902654.png)

- **克隆远程仓库**
#### **克隆远程仓库**

![image-20250708171125862](./pictures/image-20250708171125862.png)
![image-20250708171125862](./pictures/image-20250708171125862.png)

- **获取**
#### **获取**

​ 获取是从远程仓库获取信息并同步至本地仓库(获取只会同步到本地仓库,不会更改工作文件)
​ 获取是从远程仓库获取信息并同步至本地仓库(获取只会同步到本地仓库,不会更改工作文件)

![image-20250709090736034](./pictures/image-20250709090736034.png)
![image-20250709090736034](./pictures/image-20250709090736034.png)

- **关联远程仓库**
#### **关联远程仓库**

- ![image-20250708192038104](./pictures/image-20250708192038104.png)
- ![image-20250708192038104](./pictures/image-20250708192038104.png)

- **节点相关操作**
### **节点相关操作**

- **提交** :将工作区的内容放到仓库的这个过程叫做提交。将写完后的文档先添加到暂存区,然后再写日志提交。每一次提交产生一个节点。![image-20250708175643517](./pictures/image-20250708175643517.png)![image-20250708181530873](./pictures/image-20250708181530873.png)
#### **提交**

- **重置**(将修改后在未暂存区的东西,恢复修改前的版本)
将工作区的内容放到仓库的这个过程叫做提交。将写完后的文档先添加到暂存区,然后再写日志提交。每一次提交产生一个节点。![image-20250708175643517](./pictures/image-20250708175643517.png)![image-20250708181530873](./pictures/image-20250708181530873.png)

![image-20250708181118121](./pictures/image-20250708181118121.png)
#### **重置**

- **回滚提交**:是指将改动的代码提交到本地仓库,但未推送到远端仓库的时候
(将修改后在未暂存区的东西,恢复修改前的版本)

- **重置当前分支到此次提交**:是指将改动的代码提交到本地仓库后,并已推送到远端仓库的时候
![image-20250708181118121](./pictures/image-20250708181118121.png)

- **分支相关操作**
#### 回滚提交

- **新建分支**:创建的分支和主分支是完全一样的东西,新建分支旁边有圈代表分支激活,东西保存在该分支当中。
是指将改动的代码提交到本地仓库,但未推送到远端仓库的时候

![image-20250708182630161](./pictures/image-20250708182630161.png)
#### **重置当前分支到此次提交**

- **合并分支**
是指将改动的代码提交到本地仓库后,并已推送到远端仓库的时候

激活master,选择要合并的支线,点击确定,将支线的所有变化的节点打包创建一个新节点合并过去。

![image-20250708183742264](./pictures/image-20250708183742264.png)

![](./pictures/image-20250708183826186.png)![image-20250708184116528](./pictures/image-20250708184116528.png)
### **分支相关操作**

- 变基
#### **新建分支**

![image-20250708184441709](./pictures/image-20250708184441709.png)
创建的分支和主分支是完全一样的东西,新建分支旁边有圈代表分支激活,东西保存在该分支当中。

以分支为基合并到master里面
![image-20250708182630161](./pictures/image-20250708182630161.png)

![image-20250708184812262](./pictures/image-20250708184812262.png)
#### **合并分支**

将之前的提交合并后再并入master
激活master,选择要合并的支线,点击确定,将支线的所有变化的节点打包创建一个新节点合并过去。

![image-20250708185604586](./pictures/image-20250708185604586.png)
![image-20250708183742264](./pictures/image-20250708183742264.png)

- **删除分支**
![](./pictures/image-20250708183826186.png)![image-20250708184116528](./pictures/image-20250708184116528.png)

第一步先激活主分支
- 变基

![image-20250708184916183](./pictures/image-20250708184916183.png)·
![image-20250708184441709](./pictures/image-20250708184441709.png)

以分支为基合并到master里面

- **切换分支**
![image-20250708184812262](./pictures/image-20250708184812262.png)

双击分支名字,出现小圆圈为激活状态。
将之前的提交合并后再并入master

- **制造冲突**
![image-20250708185604586](./pictures/image-20250708185604586.png)

![image-20250708190410001](./pictures/image-20250708190410001.png)
#### Source Tree三种合并和区别

- **解决冲突**
混合合并:

在需要提交的文件里面自己手动保留要更改的内容,然后鼠标右键选择已经解决冲突。还有一种方式是以我为准就是保存master的,以别人为准就是合并时候保存分支的
是指将此次提交回滚到指定的位置,但这个过程中不会将修改过的文件暂存到暂存区,而是将修改过的文件存放在未暂存文件区

- **拉取**
强行合并:

选择从远端仓库中哪个分支获取
是指将此次提交回滚到指定的位置,但这个过程中将直接丢弃之前修改的所有文件

![image-20250708193822773](./pictures/image-20250708193822773.png)
软合并:

- **推送**
软合并是指将此次提交回滚到指定提交位置,但这个过程中会将修改过的文件暂存到暂存区。

选择要发送到远端仓库的分支,点击推送。
#### **删除分支**

![image-20250708193624574](./pictures/image-20250708193624574.png)
第一步先激活主分支

- 其他
![image-20250708184916183](./pictures/image-20250708184916183.png)·

- 书写忽略文件

![image-20250708191109627](./pictures/image-20250708191109627.png)或者在这个隐藏文件中添加忽略的东西,可以是精确文件名,也可以是某一类后缀如*.txt,或者某个文件夹下的文件如/abc

![image-20250708191157488](./pictures/image-20250708191157488.png)
#### **切换分支**

- 停止跟踪
双击分支名字,出现小圆圈为激活状态。

![image-20250708194308960](./pictures/image-20250708194308960.png)
#### **制造冲突**

停止跟踪后就不在受到版本管控
![image-20250708190410001](./pictures/image-20250708190410001.png)

- 创建补丁
#### **解决冲突**

![image-20250708201504400](./pictures/image-20250708201504400.png)
在需要提交的文件里面自己手动保留要更改的内容,然后鼠标右键选择已经解决冲突。还有一种方式是以我为准就是保存master的,以别人为准就是合并时候保存分支的。

- 应用补丁
### **拉取**

![image-20250708201320222](./pictures/image-20250708201320222.png)
选择从远端仓库中哪个分支获取。

- 贮藏
![image-20250708193822773](./pictures/image-20250708193822773.png)

![image-20250708200138749](./pictures/image-20250708200138749.png)贮藏相当于保留这一次更改到贮藏区域,但是不提交,以后的更改还是争对上一次提交。
### **推送**

- __丢弃__:放弃之前修改的文件,恢复上一次提交状态
选择要发送到远端仓库的分支,点击推送。

![image-20250708195933808](./pictures/image-20250708195933808.png)
![image-20250708193624574](./pictures/image-20250708193624574.png)

- **移除**:(直接删除文件)
### 其他

![image-20250708195200903](./pictures/image-20250708195200903.png)
#### 书写忽略文件

- 创建标签:(方便快速找到)
![image-20250708191109627](./pictures/image-20250708191109627.png)或者在这个隐藏文件中添加忽略的东西,可以是精确文件名,也可以是某一类后缀如*.txt,或者某个文件夹下的文件如/abc

![image-20250708194852689](./pictures/image-20250708194852689.png)
![image-20250708191157488](./pictures/image-20250708191157488.png)

- 删除标签
#### 停止跟踪

![image-20250708195022006](./pictures/image-20250708195022006.png)
![image-20250708194308960](./pictures/image-20250708194308960.png)

停止跟踪后就不在受到版本管控

#### 创建补丁

![image-20250708201504400](./pictures/image-20250708201504400.png)

#### 应用补丁

![image-20250708201320222](./pictures/image-20250708201320222.png)

#### 贮藏

(只能暂存区可以)

![image-20250708200138749](./pictures/image-20250708200138749.png)贮藏相当于保留这一次更改到贮藏区域,但是不提交,以后的更改还是争对上一次提交。

#### 丢弃

放弃之前修改的文件,恢复上一次提交状态(只能暂存区可以)

![image-20250708195933808](./pictures/image-20250708195933808.png)

#### 移除

(直接删除文件)

![image-20250708195200903](./pictures/image-20250708195200903.png)

#### 创建标签

(方便快速找到)

![image-20250708194852689](./pictures/image-20250708194852689.png)

#### 删除标签

![image-20250708195022006](./pictures/image-20250708195022006.png)


Yükleniyor…
İptal
Kaydet