git是什么東西只祠?
- git是一個(gè)命令
- git解決了只有程序員會(huì)遇到的問(wèn)題: 版本控制
- git可以讓代碼有版本,可以隨時(shí)回退到某個(gè)版本
- git可以實(shí)現(xiàn)多版本切換
git的指令
git add 路徑
此操作用來(lái)選擇哪些變動(dòng)是需要提交的
路徑可以是絕對(duì)路徑/當(dāng)前路徑
.gitignore
描述哪些變動(dòng)是不需要提交的
git commit -m 字符串
此操作為提交农曲,并說(shuō)明提交理由(字符串就是理由)
字符串里如果有空格,就需要用引號(hào)包起來(lái)
git commit -v
此操作也為提交碍论,能幫助回顧代碼發(fā)生了哪些變動(dòng)康谆,而且迫使操作者把提交理由寫得更詳細(xì)(建議用此命令)
git reset --hard XXXXXX
此操作表示回退到了當(dāng)前版本,XXXXXX指向當(dāng)前版本, XXXXXX是提交號(hào)的前6位
S尘拧C蜗妗!注意:此操作前請(qǐng)一定確定已把所有代碼commit了件甥,因?yàn)榇瞬僮鲿?huì)使得沒(méi)有commit過(guò)的變動(dòng)消失
git log
此操作為顯示之前的提交
git reflog
此操作為查看所有的提交
git branch x
此操作為基于當(dāng)前commit創(chuàng)建新的分支
(在哪個(gè)分支commit捌议,代碼就出現(xiàn)在哪個(gè)分支)
git checkout x
此操作用于切換不同分支
如果當(dāng)前目錄有未提交的代碼,只要跟另一個(gè)分支不沖突引有,就不需要理
沖突的話瓣颅,可用通靈術(shù)git stash解決,也可合并沖突
git branch
此操作為查看所有的分支譬正,前面有星號(hào)的表示當(dāng)前所在的分支
git merge
此操作為將另一個(gè)分支合并到當(dāng)前分支(需在需要保留的分支進(jìn)行操作)
9埂!此操作可能有沖突曾我,也可能無(wú)沖突粉怕,要學(xué)會(huì)解決
解決沖突的方法
- 發(fā)現(xiàn)沖突
- 在合并分支的時(shí)候,會(huì)得到conflict提示
- 使用以下代碼查看哪些文件沖突了
git status -sb
- 解決沖突
- 依次打開每個(gè)文件
- 搜索====四個(gè)等于號(hào)(在VSCode里用ctrl+F)
- 在上下兩個(gè)部分選擇要保留的代碼
- 刪除無(wú)用的代碼抒巢,如====, >>>>, <<<<這些標(biāo)記
- 運(yùn)行以下代碼
git add 對(duì)應(yīng)文件
- 運(yùn)行以下代碼斋荞,解決下一個(gè)文件的沖突
git status -sb
- 到無(wú)沖突時(shí),運(yùn)行以下代碼(不需要后綴)
git commit
總結(jié)
- .git目錄就是本地倉(cāng)庫(kù)
- .git目錄不會(huì)重復(fù)復(fù)制相同的文件(自動(dòng)優(yōu)化)
- .git目錄支持多個(gè)分支
- git add操作處理的是文件變化而不是文件虐秦,比如刪除一個(gè)文件后平酿,依然需要用git add操作來(lái)添加到待提交區(qū)
- 只需要記住以下兩個(gè)命令即可凤优,其他命令很少用到
git add .
git commit -v
資料來(lái)源:饑人谷