(代碼)版本控制工具
分類
???git 分布式管理---->理論上前端部門任何一個成員的電腦都可以作為服務(wù)器上上傳,但是一般都不會這么干,也是要搭一個服務(wù)器并上傳(和svn差不多)
工作區(qū)-->README.md
?? ?本地倉庫--->.git
?? ?遠程倉庫-->github屬于遠程廠庫,屬于git的一部分
安裝
mac系統(tǒng) --->直接用
window系統(tǒng)----->下載安裝 git brash
參考資料-->廖雪峰
https://www.liaoxuefeng.com/wiki/896043488029600
github 和 碼云
代碼托管平臺
github
svn 集中式管理---->公司中前端主管把代碼上傳上(服務(wù)器),組員從服務(wù)器上下載,之后在本地(自己電腦上跑),當組員把開發(fā)的功能開發(fā)完就上傳.
gitflow 的工作流:

master 分支
線上分支
dev 分支 開發(fā)分支
bug 分支
項目創(chuàng)建 默認 master分支,主程切分一個dev分支
小組成員git clone 在dev分支上 切分自己的開發(fā)分支 項目開發(fā)
開發(fā)完成之后將自己分支合并到dev分支
將dev分支提交到線上的dev分支push上線 上線之前先pull-->拉取線上代碼
將自己的分支刪掉
再從dev分支上復(fù)制一份出來
git基本命令:
?? ?git status 查看狀態(tài)值
?? ?git init 創(chuàng)建本地倉庫
git remote add origin url(地址) 創(chuàng)建遠程倉庫
git remote 查看遠程倉庫

?? ?git remote add origin url 將本地的倉庫和遠程倉庫建立連接
?? ?git clone 文件 從github克隆/git clone url 克隆遠程倉庫代碼 先有線上代碼
?? ?? git stash?? ?能夠?qū)⑺形刺峤坏男薷模üぷ鲄^(qū)和暫存區(qū))保存至堆棧中,用于后續(xù)恢復(fù)當前工作目錄。
?? ?git diff顧名思義就是查看difference
???git add 文件名 (.) 將工作區(qū)修改的文件存了放到暫存區(qū)
?? ?git commit -m '注釋' 將更改的文件進行提交,提交了本地倉庫(本地倉庫)
?? ?git push origin master 將本地倉庫的代碼提交到線上的master分支
?? ?git reset --hard 版本號 版本的回滾操作 向前 向后 版本id
?? ??? ?git log --pretty=oneline 查看當前所有的版本號
?? ??? ?git reflog 查看所有的操作
?? ?git branch --all 查看所有的分支 * 當前分支
?? ?git checkout -b 分支名 新建一個分支并且切換----->?git checkout -b dev(和master的分支一樣,因為是從master分支復(fù)制來的)
???git checkout 分支名 切換分支
?? ?git merge dev 當前分支合并dev分支
?? ?git branch -D dev 刪除某一分支
?? ?git pull 拉取線上代碼 將線上的master 分支 合并到本地的master
?? ?git push origin master 提交到線上master分支
?? ?git log會按提交時間列出所有的更新
?? ?合并分支的時候最好用:
?? ??? ?git merge 分支名 --no--ff

:q 退出~~~
沖突的解決:

====>小于號和等號之間的是我們本地的代碼,等號和大于號之間的是別人的
?? ?1.沖突絕對不能出現(xiàn)在線上
?? ?2.提交之前一定要下拉 git pull
?? ?3.有用留著,沒用的干掉
git如何合并遠程2個分支
1,先檢出項目到一個文件夾
git clone
2,你檢出的項目默認是master,所以現(xiàn)在要查看遠程全部分支
git branch -a
? 1.* master
? 2.remotes/origin/HEAD -> origin/master
? 3.remotes/origin/v1.2
? 4.remotes/origin/master
? 5.remotes/origin/v1.1
? 6.remotes/origin/v1.0
3,切換分支
比如同時有三個人開發(fā),1.2最早是基于1.0,但是由于項目未發(fā)布,1.0,1.1,1.2全部都在同時開發(fā),現(xiàn)在想把1.0已經(jīng)增加的功能先合并到1.2;
此時的步驟:check 1.2和1.0
git checkout v1.0
git checkout v1.2
然后再v1.2的分支基礎(chǔ)上執(zhí)行merge
git merge v1.0
如果沒有報錯,那就直接提交代碼git push origin v1.2
如果報錯,基本是沖突了(比如):
1.CONFLICT (content): Merge conflict in app/src/main/AndroidManifest.xml
2.Auto-merging app/build.gradle
3.CONFLICT (content): Merge conflict in app/build.gradle
4.Automatic merge failed; fix conflicts and then commit the result.
你需要去到提示的文件里把git自動標注的版本沖突注釋掉,看你具體需要的功能進行刪減
然后把沖突的文件git add,和commit
,比如你有2個沖突文件,多文件add的時候直接空格隔開
==>git add app/src/main/AndroidManifest.xml app/build.gradle
最后再commit
==>git commit -m "解決2個分支之間的沖突"
4,提交代碼
git push origin v1.2
5,搞定
參考命令:
1.Git鼓勵大量使用分支:
2.查看分支:git branch
3.創(chuàng)建分支:git branch <name>
4.切換分支:git checkout <name>
5.創(chuàng)建+切換分支:git checkout -b <name>
6.合并某分支到當前分支:git merge <name>
7.刪除分支:git branch -d <name>