我使用 Git 托管。所以我经常跑步git push
。
我想git push
在后台运行,以便我不用等待它完成,而是在终端中执行其他任务。
但我不想git push
在真实的后台运行(git push &
),因为我需要查看它的输出以确保它运行时没有错误。
像后台进程一样运行它但仍然看到其输出的正确方法是什么?
我所传达的最好的事情是:
xterm -hold -e 'git push' &
但这使用的是 XTerm,而不是我最常使用的应用程序 Gnome Terminal。这在某种程度上是不一致的。
还有什么其他选择?
答案1
如果您不需要实时查看输出,您可以执行以下操作:
git push 2>&1 > ~/git-push-$(date +"%Y%m%d-%H%M").log &
上面的代码将在您的主目录中创建一个文件,其文件名中包含您调用它的日期和时间(例如git-push-20160208-1201.log
)。您可以将其放入别名或 shell 函数中,这样您就不必重新输入,或者如果您只需要保留最后一次推送以供审核,则可以使用:
git push 2>&1 > ~/git-push.log &
您甚至可以使用以下任一命令,在推送失败时向自己发送通知:
git push 2>&1 > ~/git-push.log || notify-send "Push failed" "git push initiated from $(pwd) at $(date) threw an error!" &
答案2
git push 2>&1 &
“2>&1”将所有输出重定向到标准输出