git
git工作流
master:主
dev:開發(fā)分支
feature:功能分支
? 用途:
? 每個新功能位于一個自己的分支术吗,這樣可以push到中央倉庫以備份和協(xié)作元潘。使用develop分支作為父分支。
? 當(dāng)新功能完成時贡珊,合并回develop分支
release:測試分支
? 用途:
? 當(dāng)dev分支開發(fā)完成之后可以測試了最爬,拉取此分支用于測試
? 當(dāng)此分支沒有問題會合并至master上和dev上
bug分支
? 修改測試時候的bug,修改完之后在合并到release測試分支上
? hotfix:熱修復(fù)分支
? 在maser直接拉取出來了分支门岔,專門改master上的bug的分支
? 并且改完直接合并到master上爱致,并且還得更新到dev上
簡單Linux命令介紹
查看目錄
? ls: linux命令
? dir:dos命令
? ls -a:查看隱藏目錄
? pwd:用于顯示當(dāng)前目錄
創(chuàng)建文件夾
? mkdir 文件名
? 創(chuàng)建一個文件夾
? mkdir 文件名1 文件名2
? 同時創(chuàng)建兩個同級的文件夾
? mkdir -p static/js
? 創(chuàng)建一個目錄樹
創(chuàng)建文件
? touch 文件名
刪除
? rmdir 文件夾名 :刪除文件夾
? 刪除文件
? rm 文件名:刪除改文件
? rm -r 文件夾:遞歸刪除文件夾及內(nèi)部內(nèi)容
? rm -f 文件名:不需提示,刪除文件
? rm -rf dist 遞歸刪除不需提示寒随,強(qiáng)制刪除文件夾及文件夾中所有內(nèi)容
? - rm -rf dist1 dist2 遞歸刪除不需提示,同時刪除dist1糠悯、dist2
清空日志及操作記錄
? cls:DOS
? clear:linux
移動文件
? mv a b
? 如果b文件(或者夾)存在則把a(bǔ)移動到b中,如果b不存在妻往,則把a(bǔ)命名為b
拷貝文件
? cp index.js main.js 拷貝index.js并命名文main.js
? cp -a dist1 dist2 復(fù)制一個目錄
git常用命令
? 基本單線命令
? 初始化倉庫:將目錄變成可以管理的倉庫
? git init
? 從工作區(qū)添加到暫存區(qū)
? git add 文件/夾
? 添加指定文件/夾到暫存區(qū)
? git add .
? 添加所有文件/夾到暫存區(qū)
? 從暫存區(qū)添加到倉庫中
? git commit -m "說明"
? 查看當(dāng)前工作區(qū)狀態(tài)
? git status
? 撤銷修改
? git checkout -- 文件
? 文件修改后互艾,未放到暫存區(qū),撤銷修改后回到版本庫原來的狀態(tài)(丟棄工作區(qū)的修改)
? 文件已添加至?xí)捍鎱^(qū)讯泣,又做了修改纫普,撤銷修改后回到添加到暫存區(qū)后的狀態(tài)
? git reset HEAD 文件
? 撤銷暫存區(qū)的修改、重新放回工作區(qū)
? git reset
? 既可以回退版本好渠,也可以把暫存區(qū)的修改回退到工作區(qū)昨稼。當(dāng)我們用HEAD時,表示最新的版本
? 刪除文件
? 從版本庫中刪除該文件
? git rm 文件名
? 命令git rm用于刪除一個文件晦墙。如果一個文件已經(jīng)被提交到版本庫悦昵,不用擔(dān)心誤刪,但是要小心晌畅,只能恢復(fù)文件到最新版本但指,你會丟失最近一次提交后你修改的內(nèi)容。
? 一鍵還原
? git checkout --文件名
? git checkout其實(shí)是用版本庫里的版本替換工作區(qū)的版本抗楔,無論工作區(qū)是修改還是刪除
? 從來沒有被添加到版本庫就被刪除的文件棋凳,是無法恢復(fù)的
? 回滾版本
? 回退至上一個版本
? git reset --hard HEAD^
? 回退到指定的版本
? git reset --hard commit_id
? 查看提交歷史,以便確定要回退到哪個版本
? git log
? git log --pretty=oneline
遠(yuǎn)程倉庫
? 克隆遠(yuǎn)程倉庫
? git clone 遠(yuǎn)程倉庫地址
? 關(guān)聯(lián)遠(yuǎn)程倉庫
? git remote add origin 遠(yuǎn)程倉庫地址
? 第一次推送master上的所有內(nèi)容
? git push -u origin master
? 之后就直接使用 git push origin master
分支管理
? 查看分支
? git branch
? 創(chuàng)建分支
? git branch 分支名
? 切換分支
? git checkout 分支名
? 創(chuàng)建并切換分支
? git checkout -b 分支名
? 合并指定分支至當(dāng)前分支
? git merge 分支名A
? Fast-forward信息连躏,Git告訴我們剩岳,這次合并是“快進(jìn)模式”,也就是直接把master指向dev的當(dāng)前提交
? 合并完成后可以刪除分支名A
? 文件沖突
? 當(dāng)Git無法自動合并分支時入热,就必須首先解決沖突拍棕。解決沖突后,再提交勺良,合并完成
? 當(dāng)前分支與父分支各自分別有新的提交绰播,則會產(chǎn)生沖突
? 有沖突則必須手動解決沖突
? git status可以查看沖突文件
? git會用<<<<<<<,=======尚困,>>>>>>>標(biāo)記出不同分支的內(nèi)容
標(biāo)簽管理
? 查看所有標(biāo)簽
? git tag
? 新建標(biāo)簽
? git tag 標(biāo)簽名
? 默認(rèn)為HEAD蠢箩,
? 指定給某一個提交打上標(biāo)簽
? git tag 標(biāo)簽名 提交的版本號
? git tag -a 標(biāo)簽名 -m "標(biāo)簽信息"