一 协同开发
1 引子: 假如三个人共同开发同一份代码, 每个人都各自安排了任务, 当每个人都完成了一半的时候, 提交不提交呢?
要提交, 提交到 dev 吗, 都上传了一半, 这样回家拿出来的代码根本跑不起来所以,
为每一个人创建一个分支, 各自都在各自的分支上写代码, 互不影响
很短时间内大家暂时先合并一次, 不然冲突太多了但是这个分支不是 dev, 而是 review 分支, 当老大看完没问题之后再合并到 dev 分支
二 协同开发的两种方式
方式一: 创建协作者和组织:
方式二: 添加组织
三 创建完后写代码
先创建了一个 dev 的分支
- git branch dev
- git checkout dev
- git push origin dev
又创建了一个 review 的分支
- git branch review
- gir checkout review
- git push origin review
创建自己的分支
- git branch df
- git branch ny
- git branch sk
- git checkout sk
- git pull origin review
假如现在有两个人在进行开发
东风创建了个文件
- git branch haiyan
- git checkout haiyan
- touch a.py
- ls
- git add .
add commit -m 代码初始上线
- git push origin haiyan
- ls
- vim a.py #写了一些内容
- git add .
add commit -m 小功能开发完毕
- git push origin haiyan
- #现在两人都写完了, 开始合并和 review 进行合并了
- git checkout review
- git pull origin review #吧远程的 review 拉下来
- #吧自己的合并发到 review
- git merge haiyan
- ls
- git status
- git push origin review
- #再次写的时候
- git pull origin review
宋康创建了个文件
- git branch sk
- git checkout sk
- touch s.py
- ls
- git add .
add commit -m 到了新公司好激动啊
- git push origin sk
- ls
- vim s.py #写了一些内容
- git add .
add commit -m 小开发完毕
- git push origin sk
- #现在两人都写完了, 开始合并和 review 进行合并了
- git checkout review
- #git pull origin review #如果先没有吧远程的 review 拉下来
- #吧自己的合并发到 review
- git merge sk
- ls
- git status
- git push origin review #这时候的 review 是最新的, 那么海燕先提交了, 完了她还得拉先来再合并一次
老大看了 review 分支, 如果 OK, 可以放到 dev 分支进行测试, 如果测试没有问题了
才放到 master 分支
master 分支: 线上的版本, 永远保证线上的版本, 无论是回滚到哪都是能用的
两个面试题
1 你们公司的代码 review 分支怎么做? 谁来做?
答: 我们创建的 review 分支, 我们小功能开发完之后, 合并到 review 分支
交给老大 (小组长) 来看,
你组长不开发代码吗?
他开发代码, 但是它只开发核心的东西, 任务比较少
或者抽出时间, 我们一起做这个事情
2 你们公司协同开发是怎么协同开发的?
每个人都有自己的分支, 阶段性代码完成之后, 合并到 review, 然后交给老大看
四 GIT 之忽略文件和 ssh
当你提交代码的时候不要把所有的代码都提交, 尤其是你自己的隐藏文件, 还有 pycharm 自动生成的隐藏文件,
两个方式:
手动修改: 在你 add 的时候不要把它添加进去就行了
自动修改 : 需要改一下配置文件
- vim . gitignore
- /idea
- touch a.py
- touch b,py
不要. py 了文件了, 在编辑的时候写上 *.py
认证的两种方式
1 通过 http 协议的
- Https:
- https://github.com/ugfly1210/git_projects.git
2 通过 ssh 的
- SSH:
- git remote add origin
- git@github.com:ugfly1210/git_projects.git
创建秘钥
取到公钥
来源: http://www.bubuko.com/infodetail-2514187.html