git常用命令(簡(jiǎn)介,詳細(xì)參數(shù)往下看)
git fetch 獲取遠(yuǎn)程分支更新
git branch 查看本地分支
git branch -r 查看遠(yuǎn)程分支
git branch -a 查看所有分支(本地分支和遠(yuǎn)程分支)
git clone 地址 克隆代碼
git checkout 切換分支
git pull 同步到本地(拉)
git push 推送至服務(wù)器
git checkout -b dev origin/master 基于主分支創(chuàng)建dev分支
git add . 添加到緩存
git commit -m “提交說(shuō)明” 將暫存區(qū)內(nèi)容提交到本地倉(cāng)庫(kù)
git commit -a -m “提交說(shuō)明” 跳過(guò)緩存區(qū)操作,直接把工作區(qū)內(nèi)容提交到本地倉(cāng)庫(kù)
git status 查看倉(cāng)庫(kù)當(dāng)前狀態(tài)
git merge 分支名 將指定的分支代碼合并到當(dāng)前分支
git配置
git config –global user.name “用戶名” # 設(shè)置用戶名
git config –global user.email “用戶郵箱” #設(shè)置郵箱
git config user.name 查看用戶名是否配置成功
git config user.email 查看郵箱是否配置
Git提交代碼步驟
git pull --> git status --> git add --> git commit --> git push (同步->查看狀態(tài)->提交緩存區(qū)->推送至git庫(kù)->提交代碼到遠(yuǎn)程倉(cāng)庫(kù))
git pull
每次提交代碼前,先同步遠(yuǎn)端代碼,以防覆蓋別人代碼;如果有沖突,先備份自己的代碼,(可以往下看,代碼沖突合并),將自己的代碼合并進(jìn)去,然后再提交代碼。(可以git pull 或者git pull origin + 分支)
出現(xiàn)Already up-to-date代表本地代碼已經(jīng)更新到和遠(yuǎn)程倉(cāng)庫(kù)一致了。
git status
git status 查看當(dāng)前狀態(tài)(這一步可以省略)
紅色的字體顯示的就是你修改的文件。
git add
一般為情況一,全部提交
**情況一:**如果你git status 查看了當(dāng)前狀態(tài)發(fā)現(xiàn)都是你修改過(guò)的文件,都要提交,那么你可以直接使用 git add . 就可以把你的內(nèi)容全部添加到本地git緩存區(qū)中
**情況二:**如果你git status 查看了當(dāng)前狀態(tài)發(fā)現(xiàn)有部分文件你不想提交,那么就使用git add xxx(上圖中的紅色文字的文件鏈接) 就可以提交部分文件到本地git緩存區(qū)。
git commit
>git commit -m '備注'
git push
git push origin 分支名稱
git代碼沖突合并問(wèn)題
Your local changes to the following files would be overwritten by merge:
方法一:放棄本地代碼
git reset --hard
git pull
方法二:合并代碼
git stash --> git pull --> git stash pop (暫存->拉取->合并)
git stash:保存當(dāng)前工作進(jìn)度,能夠?qū)⑺形刺峤坏男薷模üぷ鲄^(qū)和暫存區(qū))保存至堆棧中,用于后續(xù)恢復(fù)當(dāng)前工作目錄。也可以用git stash save,作用等同于git stash,區(qū)別是可以加一些注釋
git pull:拉取服務(wù)器倉(cāng)庫(kù)代碼到本地倉(cāng)庫(kù)中)
git stash pop:把你剛才stash到本地棧中的代碼pop到本地(合并代碼)(也可以用git stash apply,區(qū)別:使用apply恢復(fù),stash列表中的信息是會(huì)繼續(xù)保留的,而使用pop恢復(fù),會(huì)將stash列表中的信息進(jìn)行刪除。)
git stash list:存儲(chǔ)到本地棧頂以后,你可以使用git stash list 查看你本地存儲(chǔ)的stash日志
git stash clear: 清空Git棧,原來(lái)stash的節(jié)點(diǎn)都會(huì)被清除
合并代碼時(shí):
常用命令以及詳細(xì)參數(shù)
git add 將文件添加到倉(cāng)庫(kù):
git add 文件名 將工作區(qū)的某個(gè)文件添加到暫存區(qū)
git add . 將當(dāng)前工作區(qū)的所有文件都加入暫存區(qū)
git add -u 添加所有被tracked文件中被修改或刪除的文件信息到暫存區(qū),不處理untracked的文件
git add -A 添加所有被tracked文件中被修改或刪除的文件信息到暫存區(qū),包括untracked的文件
git add -i 進(jìn)入交互界面模式,按需添加文件到緩存區(qū)
#將暫存區(qū)文件提交到本地倉(cāng)庫(kù):
git commit -m “提交說(shuō)明” 將暫存區(qū)內(nèi)容提交到本地倉(cāng)庫(kù)
git commit -a -m “提交說(shuō)明” 跳過(guò)緩存區(qū)操作,直接把工作區(qū)內(nèi)容提交到本地倉(cāng)庫(kù)
git diff 比較文件異同
git diff 工作區(qū)與暫存區(qū)的差異
git diff 分支名 工作區(qū)與某分支的差異,遠(yuǎn)程分支這樣寫:remotes/origin/分支名
git diff HEAD 工作區(qū)與HEAD指針指向的內(nèi)容差異
git diff 提交id 文件路徑 工作區(qū)某文件當(dāng)前版本與歷史版本的差異
git diff –stage 工作區(qū)文件與上次提交的差異(1.6 版本前用 –cached)
git diff 版本TAG 查看從某個(gè)版本后都改動(dòng)內(nèi)容
git diff 分支A 分支B 比較從分支A和分支B的差異(也支持比較兩個(gè)TAG)
git diff 分支A…分支B 比較兩分支在分開(kāi)后各自的改動(dòng)
另外:如果只想統(tǒng)計(jì)哪些文件被改動(dòng),多少行被改動(dòng),可以添加 –stat 參數(shù)
git log 查看歷史記錄
git log 查看所有commit記錄(SHA-A校驗(yàn)和,作者名稱,郵箱,提交時(shí)間,提交說(shuō)明)
git log -p -次數(shù) 查看最近多少次的提交記錄
git log –stat 簡(jiǎn)略顯示每次提交的內(nèi)容更改
git log –name-only 僅顯示已修改的文件清單
git log –name-status 顯示新增,修改,刪除的文件清單
git log –oneline 讓提交記錄以精簡(jiǎn)的一行輸出
git log –graph –all –online 圖形展示分支的合并歷史
git log –author=作者 查詢作者的提交記錄(和grep同時(shí)使用要加一個(gè)–all–match參數(shù))
git log –grep=過(guò)濾信息 列出提交信息中包含過(guò)濾信息的提交記錄
git log -S查詢內(nèi)容 和–grep類似,S和查詢內(nèi)容間沒(méi)有空格
git log fileName 查看某文件的修改記錄
git reset 代碼回滾
git reset HEAD^ 恢復(fù)成上次提交的版本
git reset HEAD^^ 恢復(fù)成上上次提交的版本,就是多個(gè)^,以此類推或用~次數(shù)
git reflog
git reset –hard 版本號(hào)
–soft:只是改變HEAD指針指向,緩存區(qū)和工作區(qū)不變;
–mixed:修改HEAD指針指向,暫存區(qū)內(nèi)容丟失,工作區(qū)不變;
–hard:修改HEAD指針指向,暫存區(qū)內(nèi)容丟失,工作區(qū)恢復(fù)以前狀態(tài);
版本庫(kù)相關(guān)操作
刪除版本庫(kù)文件:git rm 文件名
版本庫(kù)里的版本替換工作區(qū)的版本:git checkout — test.txt
遠(yuǎn)程倉(cāng)庫(kù)相關(guān)操作
同步遠(yuǎn)程倉(cāng)庫(kù):git push -u origin master
本地倉(cāng)庫(kù)內(nèi)容推送到遠(yuǎn)程倉(cāng)庫(kù):git remote add origin git@github.com:帳號(hào)名/倉(cāng)庫(kù)名.git
從遠(yuǎn)程倉(cāng)庫(kù)克隆項(xiàng)目到本地:git clone git@github.com:git帳號(hào)名/倉(cāng)庫(kù)名.git
查看遠(yuǎn)程庫(kù)信息:git remote
拉取遠(yuǎn)程分支到本地倉(cāng)庫(kù):
git checkout -b 本地分支 遠(yuǎn)程分支 # 會(huì)在本地新建分支,并自動(dòng)切換到該分支
git fetch origin 遠(yuǎn)程分支:本地分支 # 會(huì)在本地新建分支,但不會(huì)自動(dòng)切換,還需checkout
git branch –set-upstream 本地分支 遠(yuǎn)程分支 # 建立本地分支與遠(yuǎn)程分支的鏈接
同步遠(yuǎn)程倉(cāng)庫(kù)更新::git fetch origin master
分支相關(guān)操作
創(chuàng)建分支
創(chuàng)建分支:git checkout -b dev -b表示創(chuàng)建并切換分支
上面一條命令相當(dāng)于下面的二條:
git branch dev 創(chuàng)建分支
git checkout dev 切換分支
查看分支:git branch
合并分支:git merge
git merge dev #用于合并指定分支(dev)到當(dāng)前分支
git merge –no-ff -m “merge with no-ff” dev #加上–no-ff參數(shù)就可以用普通模式合并,合并后的歷史有分支,能看出來(lái)曾經(jīng)做過(guò)合并
例如:項(xiàng)目中有兩個(gè)分支:test,test2
在test分支中執(zhí)行 git merge origin/test2 (將test2分支合并到test分支中)
刪除分支:git branch -d dev
查看分支合并圖:git log –graph –pretty=oneline –abbrev-commit
撤消某次提交
git revert HEAD # 撤銷最近的一個(gè)提交
git revert 版本號(hào) # 撤銷某次commit文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-605348.html
git用戶名密碼相關(guān)配置
安裝完Git后第一件要做的事,設(shè)置用戶信息(global可換成local在單獨(dú)項(xiàng)目生效):
git config –global user.name “用戶名” # 設(shè)置用戶名
git config –global user.email “用戶郵箱” #設(shè)置郵箱
git config user.name 查看用戶名是否配置成功
git config user.email 查看郵箱是否配置文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-605348.html
到了這里,關(guān)于git必備知識(shí) git使用常見(jiàn)問(wèn)題(提交代碼,合并沖突)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!