git常用指令
- 基礎(chǔ)概念
- ??(.git所在的文件路徑)
- 工作區(qū)(和.git在同一個(gè)目錄下的文件夾/文件)
- .git:版本庫
- stage(暫存區(qū):git之所以比其他的版本管理優(yōu)秀就在于它管理的是修改(暫存區(qū))综看,而不是文件)
- master(git默認(rèn)創(chuàng)建的主分支)
- HEAD(指向當(dāng)前分支的指針)
- ??(.git所在的文件路徑)
- git init:創(chuàng)建版本庫卓研,初始化
- git add:把文件添加到暫存區(qū)浑玛,用于之后提交到本地倉庫
- git add .:添加所有的修改到暫存區(qū)
- git add <fileName>:添加某個(gè)文件的修改到暫存區(qū)
- git add <fileName1> <fileName2>
- git commit:把暫存區(qū)的修改提交到當(dāng)前分支
- git commit -m "修改信息"
- git commit <fileName> -m "修改信息"
- git status:查看當(dāng)前狀態(tài)
- git diff:對比當(dāng)前做了哪些改動(dòng)
- git diff HEAD -- <fileName>:查看工作區(qū)和版本庫中最新版本的區(qū)別
- git log:查看提交日志(從近到遠(yuǎn))
- git log --pretty-oneline:日志格式為一行疾渴,方便閱讀
- git reflog:查看你操作的每一次命令
- git log --graph:查看分支合并圖
- git reset:回退
- HEAD:是指向當(dāng)前分支的指針
- git reset --hard HEAD^:回退到上一個(gè)版本(
^符號(hào)
的數(shù)量代表向上回退的版本數(shù)量) - git reset --hard HEAD~100:向后回退100個(gè)版本
- git reset --hard 版本號(hào):回退到某一個(gè)版本(版本號(hào)為commitID哈希值的前7位)
- git checkout -- <fileName>:工作區(qū)內(nèi)容回退到最近一次
git add
或git commit
的狀態(tài),就是撤銷之前的修改拆座。- 如果是修改后還未
add
到暫存區(qū)领突,就回退到和版本庫一模一樣的狀態(tài)。 - 如果是已經(jīng)
add
到暫存區(qū)后又做了修改音半,就回退到添加暫存區(qū)后的狀態(tài)。
- 如果是修改后還未
- git reset HEAD <fileName>:把暫存區(qū)的修改撤銷掉灰蛙,重新放回工作區(qū)祟剔。
- git rm <fileName>:刪除文件
- git push:把當(dāng)前分支推送到遠(yuǎn)程倉庫
- git push -u origin master:第一次使用加上
-u
- git push origin <local_branch_name>:推送分支(origin為遠(yuǎn)程庫的分支名)
- git push -u origin master:第一次使用加上
- git pull:抓取遠(yuǎn)程庫的分支
- git clone:克隆
- 創(chuàng)建并切換分支
- git checkout -b <branchName>:創(chuàng)建并切換到
branchName
分支上(舊版本寫法)隔躲。相當(dāng)于以下兩句:- git branch <branchName>:創(chuàng)建分支
- git checkout <branchName>:切換分支
- git switch -c <branchName>:創(chuàng)建并切換到
branchName
分支上(新版本寫法)摩梧。相當(dāng)于以下兩句:- git branch <branchName>:創(chuàng)建分支
- git switch <branchName>:切換分支
- git checkout -b <local_branch> origin/<remote_branch>:創(chuàng)建遠(yuǎn)程庫的分支(remote_branch)到本地(local_branch),本地分支名最好和遠(yuǎn)程分支名一致宣旱。
- git branch --set-upstream-to=origin/<remote_branch> <local_branch>:指定本地分支(local_branch)和遠(yuǎn)程分支(remote_branch)的鏈接仅父。
- git checkout -b <branchName>:創(chuàng)建并切換到
- git branch:查看當(dāng)前分支
- 合并分支
- git merge <branchName>:合并指定分支到當(dāng)前分支上,如果可能浑吟,會(huì)使用
Fast Forward
模式 - git merge --no-ff <branchName> -m "merge_dec_info":強(qiáng)制禁用
Fast Forward
模式
- git merge <branchName>:合并指定分支到當(dāng)前分支上,如果可能浑吟,會(huì)使用
- 刪除分支
- git branch -d <branchName>:刪除分支
- git branch -D <branchName>:強(qiáng)行刪除分支
- git stash:藏匿當(dāng)前修改
- git stash list:查看藏匿
- git stash pop:恢復(fù)并刪除stash笙纤,相當(dāng)于以下兩步:
- git stash apply:恢復(fù)stash
- git stash drop:刪除stash
- git cherry-pick <commint_id>:把某次提交的修改內(nèi)容,在當(dāng)前分支重復(fù)操作提交一次组力。
- git remote:查看遠(yuǎn)程庫
- git remote -v:遠(yuǎn)程庫抓取和推送的地址
- git remote add origin 遠(yuǎn)程倉庫地址:本地倉庫關(guān)聯(lián)一個(gè)叫
origin
的遠(yuǎn)程倉庫省容。 - git remote rm origin:刪除遠(yuǎn)程庫
- git tag:查看標(biāo)簽
- git tag <tag_name>:打標(biāo)簽
- git tag <tag_name> <commit_id>:給某次
commit
打上標(biāo)簽 - git show <tag_name>:查看標(biāo)簽信息
- git tag -a <tag_name> -m "tag_info" <commit_id>:帶備注信息的標(biāo)簽,
-a
指定標(biāo)簽名燎字,-m
指定標(biāo)簽信息腥椒。 - git tag -d <tag_name>:刪除標(biāo)簽
- git push origin <tag_name>:推送標(biāo)簽
- git push --tags:推送所有的本地標(biāo)簽
- 刪除遠(yuǎn)程庫的標(biāo)簽:
- git tag -d <tag_name>:刪除本地標(biāo)簽
- git push origin :refs/tags/<tag_name>:刪除遠(yuǎn)程標(biāo)簽