Git Alias链接添加,提交,拉动,推送?

时间:2014-02-04 12:09:10

标签: git command-line

我感兴趣的是创建一个别名,添加所有文件,提交消息,拉动,如果有任何冲突停止并显示冲突文件列表,否则推。

我已找到列出冲突文件(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'

2 个答案:

答案 0 :(得分:6)

无需在别名中添加冲突检查。如果在git pull上检测到冲突,则会自动echo删除存在冲突和停止的文件。这允许别名减少到以下(多行以便于阅读):

git config --global alias.commitall '!func(){ git add . && git commit -aqm "$1" &&
    git pull -q --no-progress && git push -q; }; func'

我添加了-q参数来阻止调用回显正常的bumpf,但这是首选项。

用法:

git commitall "message goes here"

答案 1 :(得分:2)

我认为if药水看起来像这样

if [[ -n $(git diff --name-only --diff-filter=U) ]]; then
    git diff --name-only --diff-filter=U                 
else                                                     
    git push                                             
fi         

This answer helped

相关问题