1.git 三大分區(qū)
- 工作區(qū):開發(fā)人員當(dāng)前正在開發(fā)的項(xiàng)目工作空間,是我們?nèi)庋劭梢?jiàn)的。 Git系統(tǒng)不會(huì)管工作區(qū)中任何文件內(nèi)容的修改,僅監(jiān)控暫存區(qū)。
- 暫存區(qū):Git系統(tǒng)內(nèi)部,管理開發(fā)人員項(xiàng)目中臨時(shí)修改文件的區(qū)域,用于臨時(shí)存放文件的改動(dòng),它會(huì)存放上一次開發(fā)人員 git add 添加之后的數(shù)據(jù)。 在后續(xù)繼續(xù)向版本庫(kù)提交更新代碼時(shí),git會(huì)比較暫存區(qū)與工作區(qū)間的差異,給予相關(guān)操作提示。
- 版本庫(kù):類似倉(cāng)庫(kù),存儲(chǔ)很多配置信息、日志信息、以及文件各種修改后的最終版本信息。
2.Git提交、推送、拉取代碼、合并分支詳細(xì)流程
- 查看工作區(qū)文件狀態(tài)
git status
- 添加文件到暫存區(qū)
git add <文件名>
git add ./* #添加所有文件到暫存區(qū)
- 將暫存區(qū)的文件添加到版本庫(kù)
git commit -m '提交注釋信息'
- 推送本地分支的更新到遠(yuǎn)程主機(jī)
git push
- 切換分支
git checkout <遠(yuǎn)程分支名>
- 合并分支
git merge <源分支名>
- 保存當(dāng)前工作進(jìn)度
使用情況:分支有改變時(shí)不提交不能進(jìn)行切換分支操作
該命令會(huì)保存當(dāng)前工作進(jìn)度,會(huì)把暫存區(qū)和工作區(qū)的改動(dòng)保存到一個(gè)未完結(jié)變更的堆棧中。
git stash
- 遠(yuǎn)端拉取代碼
git pull #是 git pull --merge 的縮寫;將遠(yuǎn)程庫(kù)的最新內(nèi)容拉到本地,用戶檢查后決定是否合并
git pull --rebase #遠(yuǎn)程主機(jī)的最新內(nèi)容拉取到本地后直接合并;可能會(huì)產(chǎn)生沖突需要手動(dòng)解決
-
推送本地分支的更新到遠(yuǎn)程主機(jī)
此時(shí)可以在主分支查詢到從自己分支合并過(guò)來(lái)的提交記錄 -
切換回自己分支
-
恢復(fù)最新的進(jìn)度到工作區(qū)
git stash pop
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-847664.html
3.問(wèn)題總結(jié)
問(wèn)題一、誤提交:提交代碼時(shí)遇到?jīng)_突,但沖突文件并不想提交【一般可以通過(guò)將文件添加到.gitignore長(zhǎng)久解決,但是由于我的文件具有線上版本,.gitignore文件不起作用】
解決辦法:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-847664.html
git add .
git reset HEAD .
- 【git add .】:添加所有文件到暫存區(qū)
- 【git reset HEAD .】:將此次修改的所有文件退回到工作區(qū)
4.git push補(bǔ)充知識(shí)
- 將本地分支的更新推送到遠(yuǎn)程主機(jī)
git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名> # :前后不可以有空格
git push origin dev-lwq:master #將本地的dev-lwq分支推送到origin主機(jī)的master分支
- 省略遠(yuǎn)程分支名:
(1)本地與遠(yuǎn)程存在分支名重復(fù)情況,此時(shí)可以省略(2)若遠(yuǎn)程分支不存在,若省略則會(huì)新建一個(gè)與本地分支同名的遠(yuǎn)程分支
git push <遠(yuǎn)程主機(jī)名> <本地分支名>
git push origin dev-lwq #將本地的dev-lwq分支推送到origin主機(jī)的dev-lwq分支,若origin主機(jī)不存在dev-lwq分支則會(huì)新建
- 省略本地分支名:刪除指定的遠(yuǎn)程分支
git push <遠(yuǎn)程主機(jī)名> :<遠(yuǎn)程分支名>
git push origin :master #刪除origin主機(jī)的master分支
git push origin --delete master#等同于上面命令
- 僅保留遠(yuǎn)程主機(jī)名:當(dāng)前分支與遠(yuǎn)程分支存在追蹤關(guān)系
git push <遠(yuǎn)程主機(jī)名>
git push origin #將當(dāng)前分支推動(dòng)到origin主機(jī)的對(duì)應(yīng)分支
git push #省略遠(yuǎn)程主機(jī)名:當(dāng)前分支只有一個(gè)追蹤分支
- 當(dāng)前分支與多個(gè)主機(jī)存在追蹤關(guān)系,通過(guò)以下命令可以指定一個(gè)默認(rèn)主機(jī)
git push -u <遠(yuǎn)程主機(jī)名> <本地分支名>
git push -u origin master #master分支推送到origin主機(jī)且設(shè)置origin為默認(rèn)主機(jī)
到了這里,關(guān)于【Git】提交代碼詳細(xì)流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!