我知道这可能听起来很疯狂,但我认为它会起作用。我们必须每周向马槽报告快速获胜,所以我想的是我们可以使用git进行记录,然后经理可以拉通过7天的日志。
所以我使用以下命令创建一个git repo
mkdir mynotes.git
cd mynotes.git
git init
然后我在其中创建了这个脚本:
#!/bin/sh
clear
echo "Quick Logging (Press Enter on a blank line to exit)"
while true
do
echo
read -p "log> " logtext
if test -z "$logtext"
then
exit 0
else
git commit --allow-empty -m "$logtext"
fi
done
所以那么团队中的每一个人都可以做一个git pull并推送到repo ..我遇到的问题是,如果有人推送到repo,因为其他人正在登录然后尝试推送我们得到此错误
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@git.xxxx.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
我们怎样才能使这个系统工作......如果我们能够让它发挥作用,这听起来很棒
答案 0 :(得分:3)
虽然您收到错误的原因与this question重复,但请允许我向您提供更多详细信息,因为您似乎正在将工作流程与报告混合起来......
然后,团队的每个人都可以做一个git pull并推送到repo
假设您正如上所述执行上述步骤,您的拉动很可能因冲突而失败。在推送更改之前,您必须解决冲突才能完成合并。执行git status
查看冲突的文件,修改它们,git add
将它们分级,然后提交并推送。
我会推荐另一种方法。管理开发工作流程中的合并,并单独进行7天的报告。 git log
命令有一个很好的选择:
git log --since="7 days ago"
检查git log
命令的手册,因为它有许多其他有用的格式化选项。
git log --since="7 days ago" --pretty=format:"%ad|%h|%cn|%s"
您可以在专用本地存储库上使用该git log命令,该存储库仅在您要打印7天日志之前从您的遥控器中拉出,或者将其重定向到文件或其他脚本。