【发布时间】:2014-02-04 12:09:10
【问题描述】:
我感兴趣的是创建一个别名,用于添加所有文件、提交消息、进行拉取,如果有任何冲突停止并显示冲突文件列表,否则推送。
我已经找到了列出冲突文件的别名 (git config --global alias.conflicts "diff --name-only --diff-filter=U"),但我不知道如何集成其余命令。
甚至可以用这种格式创建if 语句吗?
伪代码(多行可读性):
git config --global alias.commitall '!func(){ git add -A && git commit -am "$1" &&
git pull && <conflict detection and possible die of command> &&
git push; }; func'
【问题讨论】:
-
这是个糟糕的主意。与其让添加错误内容和自动推送变得更容易,不如使用
git add -p -
虽然我可以看到使用
-p的好处(必须在手册中查找它 - goo.gl/BiRXFB - 看看它的作用)我会坚持使用-a因为如果我添加/删除了文件/目录,那么我也希望跟踪这些更改。我也不想接受每个文件更改,因为如果提交大量更改,这可能需要很长时间。不过,这只是我的看法。 -
我通常只是为这种类型的东西创建shell函数或别名。
-
@bundacia 这就是我正在尝试的。你的别名是什么?
-
@RichardParnaby-King 您描述的情况正是您想要使用
add -p而您不应该使用add -a的时候。迟早(根据您的描述,可能会更早)您会做出您不打算做的事情。
标签: git command-line