You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何一次性获取多个git-graph?脚本输出异常求助

问题分析与解决方案

问题根源

你的脚本所有Git操作都集中在q2目录下的同一个仓库中,三次提交是在master分支上的线性累积提交。因此每次执行git graph时,显示的是当前仓库的累计提交历史(第一次1个提交、第二次2个、第三次3个),而非你预期的三个独立仓库的提交图。同时输出不全或重复的问题,大概率是git graph命令的默认行为导致的(比如你的别名设置了只显示最近N个提交),或是终端输出被截断。

解决方案

根据你的需求,分两种场景处理:

场景1:需要三个独立的Git仓库(对应三个独立的提交图)

修改脚本,为每个成员目录单独初始化Git仓库,确保每个提交都属于独立的仓库,从而得到三个独立的git graph输出:

#!/bin/bash
mkdir q2
cd q2

# 成员1的独立仓库
mkdir 12140900-member-1
cd 12140900-member-1
git init
echo "iitbhilai" > hello-world
git add .
git commit -m "file of member-1"
git graph
cd ..

# 成员2的独立仓库
mkdir 12140210-member-2
cd 12140210-member-2
git init
echo "iitbhilai" > hello-world
git add .
git commit -m "file of member-2"
git graph
cd ..

# 成员3的独立仓库
mkdir 12140880-member-3
cd 12140880-member-3
git init
echo "iitbhilai" > hello-world
git add .
git commit -m "file of member-3"
git graph
cd ..

场景2:保留同一个仓库,展示三次提交的完整历史

如果需要在同一个仓库中查看三次提交的历史变化,先检查你的git graph别名配置,确保它能显示完整的提交历史:
执行以下命令查看别名定义:

git config --get-regexp alias

如果graph别名限制了提交数量,重新设置为显示完整历史的别名:

git config --global alias.graph 'log --graph --oneline --all'

修改后,原脚本执行三次git graph时,会依次显示1个、2个、3个提交的线性历史图。

内容的提问来源于stack exchange,提问作者Kruthi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 21:35:16