查看遠(yuǎn)程倉庫的名字
默認(rèn)為 origin
git remote
查看更詳細(xì)遠(yuǎn)程分支的名稱
可以查看到fetch
跟push
地址
git remote -v
將本地分支推送到遠(yuǎn)程
git push origin local_branchName:remote_branchName
刪除遠(yuǎn)程分支
方式一
git push origin :branch-name 注意origin后有空格
方式二
git branch -r -d origin/branch-name
本地分支跟遠(yuǎn)程分支建立關(guān)聯(lián)
git branch --set-upstream dev origin/dev 制定本地dev分支跟遠(yuǎn)程origin/dev分支的鏈接
撤銷
在修改在工作區(qū)還未添加至?xí)捍鎱^(qū)
git checkout -- file
修改的內(nèi)容已經(jīng)添加至?xí)捍鎱^(qū)
可以把暫存區(qū)的修改撤銷掉 (unstage),重新放到工作區(qū)
git reset HEAD file
撤銷提交至版本庫
git reset --hard commit_id 回退到之前的某次提交版本 當(dāng)前的工作區(qū) 跟暫存區(qū)都會重置 暫存區(qū)(stage)會清空 工作區(qū)會清空
git reset --hard HEAD^ HEAD 代表當(dāng)前版本
--soft commit_id 只改變引用的指向侄旬,不改變暫存區(qū)和工作區(qū)
--mixed commit_id 不適用參數(shù) 默認(rèn)是mixed 改變引用指向及重置暫存區(qū),但是不改變工作區(qū)
--hard commit_id
刪除文件
注意:刪除文件后,修改就被提交到暫存區(qū)
git rm
分支
創(chuàng)建分支
git branch 分支名
刪除分支
git branch -d 分支名稱
如果刪除一個未合并的分支會提示酿箭,可以使用強(qiáng)制刪除分支
git branch -D 分支名
切換分支
git checkout 分支名稱
創(chuàng)建并切換分支
git checkout -b 分支名
將分支整合到當(dāng)前分支
git merge 分支名
合并分支時芍碧,如果可能除破,Git會用Fast forward模式,但這種模式下,刪除分支后船殉,會丟掉分支信息
如果要強(qiáng)制禁用Fast forward模式缅帘,Git就會在merge時生成一個新的commit秤朗,這樣,從分支歷史上就可以看出分支信息
git merge —no-ff -m “” 分支名 表示禁用Fast forward
推送分支
就是把該分支上的所有本地提交推送到遠(yuǎn)程庫献宫。推送時堡僻,要指定本地分支糠惫,這樣,Git就會把該分支推送到遠(yuǎn)程庫對應(yīng)的遠(yuǎn)程分支上
git push origin master
如果要推送其他分支钉疫,比如dev硼讽,就改成
git push origin dev
標(biāo)簽
打標(biāo)簽
git tag v1.0 打一個新標(biāo)簽v1.0
創(chuàng)建帶有說明的標(biāo)簽
git tag -a v0.1 -m “標(biāo)簽說明“ commit_id 創(chuàng)建帶有說明的標(biāo)簽 用-a指定標(biāo)簽名,-m指定說明文字
查看所有標(biāo)簽
git tag
查看標(biāo)簽說明
git show <tagname>
補(bǔ)打標(biāo)簽
git tag -a <tagname> commint_id
查看comminit_id
git log 或者 git reflog
刪除標(biāo)簽
git tag -d 標(biāo)簽名
推送某個標(biāo)簽到遠(yuǎn)程
git push origin 標(biāo)簽名
一次性推送全部尚未推送到遠(yuǎn)程的本地標(biāo)簽
git push origin --tags
如果標(biāo)簽已經(jīng)推送到遠(yuǎn)程牲阁,要刪除遠(yuǎn)程標(biāo)簽就麻煩一點固阁,先從本地刪除:
git tag -d 標(biāo)簽名
從遠(yuǎn)程刪除
git push origin :refs/tags/標(biāo)簽名 。刪除命令也是push城菊,格式
使用git checkout tag即可切換到指定tag备燃,例如:git checkout v0.1.0
切換到tag歷史記錄會處在分離頭指針狀態(tài),這個是的修改是很危險的凌唬,在切換回主線時如果沒有合并并齐,之前的修改提交基本都會丟失,
如果需要修改可以嘗試git checkout -b 分支名 tag 創(chuàng)建一個基于指定tag的分支客税,例如:git checkout -b tset v0.1.0 這個時候就會在分支上進(jìn)行開發(fā)况褪,之后可以切換到主線合并
git checkout -b branch_name tag_name