git常用命令全-最終總結(jié)
最常用:
// 克隆遠(yuǎn)程代碼下來本地
-git clone xxxx
// 修改的代碼細(xì)節(jié)展示
-git diff?
// 當(dāng)前分支狀態(tài)(改動(dòng)總覽)
-git status
// 會(huì)監(jiān)控工作區(qū)的狀態(tài)樹,使用它會(huì)把工作時(shí)的所有變化提交到暫存區(qū),
// 包括文件內(nèi)容修改(modified)以及新文件(new),但不包括被刪除的文件。(這個(gè)說法不正確,實(shí)驗(yàn)證明刪除文件也是可以提交的)
// git版本在2.x之后應(yīng)該是把 . 和 -A作用相同化了 而不是晚上復(fù)制的
-git add .
-git add -A
// 提交暫存區(qū)文件到本地倉(cāng)庫(kù)
-git commit -m "我的修改備注"
// 提交本地?cái)?shù)據(jù)到 對(duì)應(yīng)的遠(yuǎn)程分支
-git push
// 查看本地對(duì)應(yīng)遠(yuǎn)程的分支對(duì)應(yīng)關(guān)系
-git branch -vv?
// 查看本地和遠(yuǎn)程所有分支
-git branch -a?
// 以當(dāng)前本地分支作為基礎(chǔ)新建一個(gè)xxx分支(默認(rèn)你這個(gè)xxx分支 也是push到 當(dāng)前分支的遠(yuǎn)程分支)
-git checkout -b xxx?
// 提交本地分支代碼到 xxx遠(yuǎn)程分支
-git push origin xxx?
// 將本地分支與遠(yuǎn)程xxx分支進(jìn)行關(guān)聯(lián)形成關(guān)聯(lián)關(guān)系
-git branch --set-upstream-to=origin/xxx?
// 拉取最新遠(yuǎn)程代碼
-git pull
// 合并分支
-git merge xxxx
#這個(gè)是已經(jīng)有的分支進(jìn)行checkout
-git checkout xxxx
#修改的部分代碼清理掉不修改了
-git checkout .
部分常用
-git branch -d xxx 刪除分支(當(dāng)前分支不能為xxx)
-git push origin --delete xxx(刪除遠(yuǎn)程分支)
// 文件退出暫存區(qū),但是修改保留:
-git reset --mixed
// 撤銷所有的已經(jīng) add 的文件:
-git reset HEAD .
// 撤銷某個(gè)文件或文件夾:
-git reset HEAD? filename
// 撤銷commit 之后返回成暫存區(qū)add狀態(tài)
-git reset --soft HEAD^
// 撤銷commit 直接新增代碼全部撤銷并沒有add暫存直接消失
-git reset --hard HEAD^
解釋:
HEAD^ 表示上一個(gè)版本,即上一次的commit,幾個(gè)^代表幾次提交,如果回滾兩次就是HEAD^^。
--soft
不刪除工作空間的改動(dòng)代碼 ,撤銷commit,不撤銷add
--hard
刪除工作空間的改動(dòng)代碼,撤銷commit且撤銷add
git stash save "save tag" (貯藏已經(jīng)修改的代碼,如果寫錯(cuò)分支了,沒有提交 可以使用,之后切換到你需要的分支進(jìn)行提取出來)
git stash list 查看貯藏的修改
git stash pop 釋放貯藏內(nèi)容到當(dāng)前分支
// 多個(gè)貯藏 可以選擇你需要拉取哪個(gè)貯藏
git stash pop stash@{$num}
git config --list 查看這個(gè)項(xiàng)目的git 配置
git remote prune origin xxx 這個(gè)是修剪掉已經(jīng)刪除遠(yuǎn)程分支的本地分支
git log 查看最近的提交信息
git reset --hard xxxxx回退到某一個(gè)歷史節(jié)點(diǎn)
如果改動(dòng)回到較遠(yuǎn)的一個(gè)節(jié)點(diǎn) git push 可能會(huì)失敗報(bào)錯(cuò),因此我們需要強(qiáng)推到一個(gè)版本的話 需要:
git push -f -u // -u 這里是為了持續(xù)推送到指定分支 這里意義不大