使用github实际团队开发
1. 创建主项目
负责人在github上创建一个公开代码仓库A,在Settings/Collaborators邀请组员。待组员接受
2. 成员到公共仓库A中创建一个issue,可以是debug,或者新功能等,Assignees下选择分配给自己,并选择是bug,还是新功能,方便查阅
3. 成员Fork仓库
注意
:负责人的仓库被称为upstream,是项目的主仓库,自己fork的仓库被称为origin仓库
现在就可以在自己的fork下来的仓库中修改代码
4. 修改代码
cd 到项目下,使用 git remote -v
进行查看,orgin和upstream的设置信息
如果 upstream 没有设置正确,需要使用下面的命令设置:
git remote add upstream https://github.com/xxxx
修改相关代码操作,此处省略N个字
使用git status
查看文件的状态
红色的表示没有添加,绿色的便是添加了
没添加的使用 add xxx来添加,如果使用了忽略文件,可以直接add .
添加完全之后,是用
git commit -m "fix #X aaaaa"
注意:# x,这个数字就是第二步你提交的issue的编号。
在执行下面的代码进行同步主仓库
拉取主仓库代码,防止在你修改代码的期间,其他用户也修改了同一个文件造成无法合并的问题,
git pull --rebase upstream master
如果有冲突,就解决冲突,在使用git add 添加你的冲突解决,看情况commit不,然后在使用
git rebase --continue
没问题的话就可以git push,最后在使用git push 推送到自己的github上的origin仓库
5. 最后的最后,向主项目创建 Pull Request
在自己的仓库中,点击pullRequest,(compire可以查看修改的内容)===》create pull request,然后会自动跳转到主仓库的pull request下,你可以选择Reviewers指定人来查看你的代码
6.Review代码并合并
找负责人审核
Git创建和合并分支、merge分支冲突解决、rebase分支冲突解决、临时修改 (stash)pycharm
多使用git status来查看文件状态
其他在过程中的错误
比如 拉取git pull --rebase upstream master
本地的代码对丢失了,那么就取消,git rebase --abort
创建一个分支test,关键
git branch test
git branch -avv 查看分支状态
git config --global alias.br 'branch -avv' 创建别名
可以使用git br 来访问了
分支创建好之后
git log --oneline 来查看最初的版本,按空格到最后,wq退出
进行版本回滚
git reset --hard 版本号
image.png
同步主仓库
git pull --rebase upstream master
合并分支
git merge --squash test
--squash 选项的含义是:本地文件内容与不使用该选项的合并结果相同,但是不提交、不移动HEAD,
因此需要一条额外的commit命令。其效果相当于将test分支上的多个commit合并成一个,放在当前分支上,原来的commit历史则没有拿过来。
不仅要合并分支,而且你要拉取 git pull
你fork仓库的代码,因为存在冲突
解决冲突
在正常 add . commit
删除分支
git branch -d <branch_name>
网友评论