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 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 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)
|
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
|