git2

git

git配置

1
2
3
4
5
6
7
git config --global user.name "xxx"

git config --global user.email "xxx"

git config user.name

git config --list --global

创建一个项目

1
2
3
4
5
6
7
git init

git remote add 远程仓库别名(origin) http......(https://github.com/你的用户名/你的仓库名.git)

git branch -M main (将当前所在的分支重命名为main)

git push 远程仓库别名 main

克隆命令

1
git clone -b dev_lk http://liuke:Liuke1999@10.0.0.29:9091/9room/spatiotemporal-data-project.git 

https://blog.csdn.net/techforward/article/details/133203445
https://blog.csdn.net/m0_73745224/article/details/149708684

git branch

创建分支
1
git branch 分支名 创建分支 
显示分支
1
2
显示所有分支(本地+远程) 
git branch -a
1
2
3
4
5
6
7
8
git branch
只显示本地分支

git branch -r
只显示远程分支

git branch -vv
显示分支及其跟踪的远程分支
1
2
3
4
5
6
7
git branch -v 
显示本地分支及其最近提交

[liuj@VM-16-2-tencentos spatiotemporal-data-project]$ git branch -v
dev 88a148a [behind 217] Merge branch 'dev' of http://10.0.0.29:9091/9room/spatiotemporal-data-project into dev
dev_asstercheck 6a30df7 [ahead 1] test修改
* dev_ty 021de64 Merge branch 'dev' of http://10.0.0.29:9091/9room/spatiotemporal-data-project into dev_ty
提交记录
git log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
git log 

commit 456005affed0d488d8858a069cc37434ee2e0c3a (HEAD -> dev_ty, origin/dev_ty)
Author: 202226460 <202226460@any3.com>
Date: Fri Feb 6 09:07:41 2026 +0800

加了点注释

commit 080ce0f73632085555dab8b792f27c0311425368
Author: 202226460 <202226460@any3.com>
Date: Fri Feb 6 09:07:25 2026 +0800

加了点注释

commit 6b09ab641376dab64b88bef2a03ec8394f6bf859
Author: 202226460 <202226460@any3.com>
Date: Thu Feb 5 21:28:27 2026 +0800
git log –oneline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 一行显示一条提交(简洁) 

456005a (HEAD -> dev_ty, origin/dev_ty) 加了点注释
080ce0f 加了点注释
6b09ab6 init漏写schedule
9ed8aa4 add lable import to mongodb
b23c536 Merge branch 'dev' of http://10.0.0.29:9091/9room/spatiotemporal-data-project into dev_pre
f885f1b Merge branch 'dev_pre' of http://10.0.0.29:9091/9room/spatiotemporal-data-project into dev_yr
3a64d57 Merge branch 'dev_yr' into 'dev'
cd169cb Merge branch 'dev' of http://10.0.0.29:9091/9room/spatiotemporal-data-project into dev_yr
a8cb1a6 Merge branch 'dev' of http://10.0.0.29:9091/9room/spatiotemporal-data-project into dev_pre
a0f2083 添加带数据版本的系统调度逻辑
7362b6c Merge branch 'dev_ty' into 'dev'
bd1a240 label拆之后新增失败统计,labelchecker路径获取方式修改
a2abac9 update det3d
6f9ed97 修改监控job
1e7dc4c label资产修改了mongoclient使用方式
fd583dc temp update
99b29da Merge branch 'dev' of http://10.0.0.29:9091/9room/spatiotemporal-data-project into dev_yr
5dfc0e6 重构资产代码
a45243d Merge branch 'dev' of http://10.0.0.29:9091/9room/spatiotemporal-data-project into dev_ty
11d8070 update mongo resource
git log –graph
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 显示图形化分支结构 

git log --graph



* commit 456005affed0d488d8858a069cc37434ee2e0c3a (HEAD -> dev_ty, origin/dev_ty)
| Author: 202226460 <202226460@any3.com>
| Date: Fri Feb 6 09:07:41 2026 +0800
|
| 加了点注释
|
* commit 080ce0f73632085555dab8b792f27c0311425368
| Author: 202226460 <202226460@any3.com>
| Date: Fri Feb 6 09:07:25 2026 +0800
|
| 加了点注释
|
* commit 6b09ab641376dab64b88bef2a03ec8394f6bf859
| Author: 202226460 <202226460@any3.com>
| Date: Thu Feb 5 21:28:27 2026 +0800
|
| init漏写schedule
|
* commit 9ed8aa4434fd20a7bbe3d7c07e8e080d3033720f
| Author: 202226460 <202226460@any3.com>
| Date: Thu Feb 5 19:36:17 2026 +0800
|
| add lable import to mongodb
|
* commit 04b0002cf1076058322bc3affcef67e4c5e5c865
|\ Merge: 0ddde82 b3a1799
| | Author: 202226460 <202226460@any3.com>
| | Date: Thu Feb 5 19:03:58 2026 +0800
| |
| | Merge branch 'dev_yr' of http://10.0.0.29:9091/9room/spatiotemporal-data-project into dev_ty
| |
| * commit b3a1799d36b020fe5d1f03f29a84647814bbc9ba (origin/dev_yr)
| | Author: yr <2521275899@qq.com>
| | Date: Thu Feb 5 18:47:17 2026 +0800
| |
| | update label
1
2
3
4
# 显示完整信息 
git log --stat # 显示文件变更统计
git log -p # 显示具体修改内容(diff)
git log --name-only # 只显示修改的文件名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[liuj@VM-16-2-tencentos spatiotemporal-data-project]$ git log -p 
commit 456005affed0d488d8858a069cc37434ee2e0c3a (HEAD -> dev_ty, origin/dev_ty)
Author: 202226460 <202226460@any3.com>
Date: Fri Feb 6 09:07:41 2026 +0800

加了点注释

diff --git a/production_system/src/workspace/partitions/partition_defs.py b/production_system/src/workspace/partitions/partition_defs.py
index ad99ec1..1961ccc 100644
--- a/production_system/src/workspace/partitions/partition_defs.py
+++ b/production_system/src/workspace/partitions/partition_defs.py
@@ -18,7 +18,7 @@ time_window_task_partitions_for_statistical_analysis = TimeWindowPartitionsDefin
#cron_schedule="*/3 * * * *", 设置成这样,分区数量不符合要求
timezone="Asia/Shanghai",
fmt="%Y-%m-%d",
- end_offset=1, # 提前显示
+ end_offset=1, # DailyPartitionsDefinition会延迟一天,time_window_task_partitions_for_statistical_analysis的end_offset=1提前显示当天
)

__all__ = [ "clip_partitions",'daily_task_partitions','lable_job_clip_partitions',

commit 080ce0f73632085555dab8b792f27c0311425368
Author: 202226460 <202226460@any3.com>
Date: Fri Feb 6 09:07:25 2026 +0800

加了点注释

diff --git a/.vscode/settings.json b/.vscode/settings.json
index 3516cb9..0ae70d2 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,3 +1,5 @@
{
- "python.formatting.provider": "autopep8"
+ "python.formatting.provider": "autopep8",
+ "workbench.editor.enablePreviewFromCodeNavigation": true,
+ "workbench.editor.enablePreviewFromQuickOpen": true
}
\ No newline at end of file

commit 6b09ab641376dab64b88bef2a03ec8394f6bf859
Author: 202226460 <202226460@any3.com>
Date: Thu Feb 5 21:28:27 2026 +0800
筛选
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 按数量限制 
git log -5 # 显示最近5条提交
git log -n 10 # 显示最近10条提交

# 按时间筛选
git log --since="2026-01-01"
git log --until="2026-01-31"
git log --since="2 weeks ago"

# 按作者筛选
git log --author="张三"
git log --author="zhangsan"

# 按提交信息筛选
git log --grep="bugfix" # 搜索包含"bugfix"的提交信息

# 按文件筛选
git log -- README.md # 查看README.md的修改历史
git log -- src/ # 查看src目录的修改历史
1
2
3
4
5
6
7
8
# 最实用的组合:图形化+一行显示 
git log --oneline --graph --all

# 显示统计信息+图形
git log --stat --graph

# 漂亮的格式化输出
git log --pretty=format:"%h - %an, %ar : %s"
1
2
3
4
5
# 查看在dev分支但不在main分支的提交 
git log main..dev

# 查看两个分支的差异
git log branch1..branch2
1
2
3
4
5
# 显示所有分支的时间线 
git log --oneline --graph --all

# 按时间倒序
git log --reverse
1
2
3
4
5
6
7
8
9
10
# 自定义输出格式 
git log --pretty=format:"%C(yellow)%h %Creset%s %Cgreen(%cr) %C(bold blue)<%an>%Creset"

# 常用占位符:
# %h - 短哈希
# %H - 完整哈希
# %s - 提交说明
# %an - 作者名
# %ar - 相对时间
# %ad - 日期
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
分页模式下的常用操作键 
按键

功能

说明



空格键

向下翻一页

最常用



回车键

向下翻一行

逐行查看



b

向上翻一页

回看内容



q

退出分页模式

返回命令行



/关键词

搜索内容

输入/后输入关键词搜索



n

查找下一个匹配项

配合搜索使用



N

查找上一个匹配项



g

跳到第一行



G

跳到最后一行

切换分支

1
2
git checkout 分支名   切换分支 
git checkout -b 分支名 创建和切换
1
2
3
4
5
这个命令是错误的,因为它试图切换到origin这个分支,但origin是一个远程仓库的别名,不是一个分支。 
正确的应该是:
git checkout branch_name- 切换到指定分支
git checkout -b new_branch- 创建并切换到新分支
git checkout origin/dev_yr- 创建一个跟踪远程分支的本地分支

删除分支

1
git branch -d 分支名 删除分支 

合并分支

1
2
3
4
5
6
7
git merge origin/dev_yr  将远程分支 origin/dev_yr合并到当前分支 
或者
git pull origin dev_yr

这个命令实际上是两个操作的组合:
git fetch origin dev_yr- 获取远程 dev_yr分支的最新代码
git merge FETCH_HEAD- 将获取的远程分支合并到当前分支
1
2
3
4
5
6
7
8
# 1. 先将你的修改暂存起来(执行下面操作,要先暂存,不然代码会丢失) 
git stash

# 2. 拉取远程最新代码
git pull origin dev

# 3. 将你暂存的修改恢复回来
git stash pop
1
2
3
4
5
6
7
8
git config pull.rebase false 

git config pull.rebase false的作用是将 git pull的默认行为设置为合并(merge)而不是变基(rebase)
合并(merge,默认策略):拉取远程更新后,会创建一个额外的合并提交,保留完整的分支历史。
变基(rebase):将你的本地提交“移动”到远程最新提交之后,使历史线呈直线(避免合并提交)

查看当前配置
git config --get pull.rebase
git fetch和git pull
1
2
3
git fetch和git pull的主要区别如下: 
git fetch: 仅更新远程分支的信息,不会自动合并到本地分支。用户需要手动执行合并操作。
git pull: 同时执行 git fetch 和 git merge,直接将远程分支的更新合并到当前分支,可能隐藏过程细节。
FETCH_HEAD与HEAD的区别
1
HEAD是一个指向当前工作分支的引用,而FETCH_HEAD则是指向最后一次从远程仓库抓取分支的最新状态。HEAD通常用于表示当前工作分支的状态,而FETCH_HEAD则用于表示最近一次从远程仓库拉取的数据。 

发布分支

1
2
3
4
5
6
7
8
9
10
11
12
13
Publish Branch 
当你在本地创建了一个新分支,但远程仓库还没有这个分支时,你需要将这个本地分支"发布"(推送)到远程仓库

# 1. 在本地创建新分支
git checkout -b feature/new-feature

# 2. 进行开发,做了一些提交
git add .
git commit -m "Add new feature"

# 3. 将本地分支发布到远程仓库
git push -u origin feature/new-feature
# 这里的 -u 表示设置上游分支(upstream)
1
网页上合并分支,并删除当前分支 
1
web ide修改代码并提交 

git stash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 当前在 feature 分支,有未提交的修改 
git status # 显示有修改的文件

# 1. 暂存当前修改
git stash
# 或 git stash save "描述信息"

# 2. 工作区变干净了
git status # 显示没有修改

# 3. 切换到其他分支
git checkout main

# 4. 修复bug后,回到 feature 分支
git checkout feature

# 5. 恢复暂存的修改
git stash pop
1
2
3
4
5
6
场景2:拉取最新代码前 
你想拉取远程更新,但有未提交的修改:
# 有本地修改,但想先拉取最新代码
git stash # 暂存修改
git pull # 拉取最新代码
git stash pop # 恢复修改

命令

1
git push origin dev_ty --force