我对Git很陌生,但我知道如何添加/提交/推/拉更改。
形势:
我们有一个git管理的项目(目前在bitbucket上)。
现在我们正在建立QA和Live。因此,例如,如果我们制作了feature并将其推送给QA并得到了客户的批准,那么我们应该能够将我们的更改推送到Live/Production。
以下是流动的方式:
在当地作出的改变
推送到QA/Dev文件夹的更改
客户端同意,更改被推送到Live/Production文件夹
有人能帮助如何实现这个工作流吗?我不太确定这个流程需要什么
local ---> dev ---> production
我对git并不陌生,我对git、pull和git推送命令几乎没有疑问。
示例:
Let us assume I have two branches in my local machine "master" and "newbranch"(local branch).
$ git签出新分支
$ git分支机构
*newbranch //Assume this is local branch only
master
下面的命令到底是做什么的?
git拉出源母版 ->它将从远程“主”提取到“新分支”(目前正在签
我对我的文件做了大量修改,并添加了一大堆新文件。我能够添加和提交这些更改。当我试着推的时候我得到了:
failed to push some refs to remote.
在我得到它之后,我做了一个git pull。完成拉操作后,我得到了Your branch is up to date with 'origin/master' nothing to commit, working tree clean。仅仅是尝试推送就能让我“了解最新的一切”。
我添加和更改的文件不受.gitignore的影响。之前提交的相同类型的其他文件没有问题。
有没有办法阻止代码直接推送给master?我尝试在.git/hooks/update中添加脚本
#!/bin/sh
if [ $USER != "git-repo-admin" ];
then
if [ "$1" == refs/heads/master ];
then
echo "Manual pushing to this repo is restricted"
exit 1
fi
fi
但这是行不通的--每个人都可以推。我希望只允许特定的用户推送到主站和阻止其他用户。