我知道这听起来很疯狂,但我认为它会行得通的。我们必须每周向经理报告快速获胜,所以我想的是我们可以使用git来做日志记录,然后经理就可以提取过去7天的日志。
因此,我使用以下命令创建了一个git存储库
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拉动和推送到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.
我们怎样才能使这个系统工作起来..如果我们能让它工作,这听起来是很棒的事情。
发布于 2013-02-27 14:16:49
虽然您收到错误的原因是this question的副本,但让我给您提供更多细节,因为您似乎将工作流与报告混淆在一起……
,这样团队中的每一个人都可以做一个git拉取和推送到存储库
假设您正在执行如上所述的步骤,您的拉取很可能由于冲突而失败。在推送更改之前,必须解决冲突以完成合并。执行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天日志之前从远程提取,或者将其重定向到一个文件或另一个脚本。
https://stackoverflow.com/questions/15113895
复制