1、協同開發
引子:git
假如三我的共同開發同一份代碼,每一個人都各自安排了任務,當每一個人都完成了一半的時候,提交不提交呢?要提交,提交到dev嗎,都上傳了一半,這樣回家拿出來的代碼根本跑不起來。因此,爲每個人建立一個分支,各自都在各自的分支上寫代碼,互不影響。github
很短期內你們暫時先合併一次,否則衝突太多了。可是這個分支不是dev,而是review分支,當老大看完沒問題以後再合併到dev分支。面試
2、協同開發的兩種方式:
方式一:建立協做者和組織:vim
方式二:添加組織併發
3、建立完以後就開始寫代碼了
先建立了一個dev的分支
git branch dev
git checkout dev
git push origin dev
又建立了一個review的分支
git branch review
gir checkout review
git push origin review
建立本身的分支
git branch haiyan
git branch xiaxiao
git branch sk
git checkout sk
git pull origin review
假如如今有兩我的在進行開發ssh
海燕建立了個文件 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分支:線上的版本,永遠保證線上的版本,不管是回滾到哪都是能用的
兩個面試題ide
1、大家公司的代碼review分支怎麼作?誰來作? 答:咱們建立的review分支,咱們小功能開發完以後,合併到review分支 交給老大(小組長)來看, 你組長不開發代碼嗎? 他開發代碼,可是它只開發核心的東西,任務比較少。 或者抽出時間,咱們一塊兒作這個事情 2、大家公司協同開發是怎麼協同開發的? 每一個人都有本身的分支,階段性代碼完成以後,合併到review,而後交給老大看
4、GIT之忽略文件和ssh
當你提交代碼的時候不要把全部的代碼都提交,尤爲是你本身的隱藏文件,還有pycharm自動生成的隱藏文件,post
兩個方式:測試
手動修改:在你add的時候不要把它添加進去就好了idea
自動修改 :須要改一下配置文件
vim . gitignore
/idea
touch a.py
touch b,py
不要.py了文件了,在編輯的時候寫上*.py
認證的兩種方式
一、經過http協議的
Https:
https://github.com/ugfly1210/git_projects.git
二、經過ssh的
SSH:
git remote add origin
git@github.com:ugfly1210/git_projects.git
建立祕鑰
取到公鑰