最近在學習git,這邊整理一下學習筆記,有不對的地方歡迎大家指正。
各處${…}表示實際使用中需要填寫的參數
一、tag相關
tag即給當前的代碼版本打上標簽進行區分,我理解為版本管理。
git獲取指定tag的版本
1.clonemaster上的代碼
2.git checkout test—-表示切換到test分支
3.git checkout ${tagName}
獲取當前的tag
git tag -l
給當前代碼版本打tag
git tag -a ${tagName} -m 'Release Version' (-m參數后面跟的是對這個tag的說明,這個根據實際需要填寫)
推送tag
git push origin ${tagname} (推送指定名字的標簽)
git push origin –tags (推送所有新增的標簽)
查看tag信息
git show ${tagName}
刪除本地標簽
git tag -d ${tagName}
刪除遠程標簽(tag已經推送到遠程倉庫)
1.先刪除本地標簽
2.git push origin :refs/tags/v0.9 注意空格
對已經提交的歷史版本打標簽
git tag ${tagName} ${commitId}
二、分支相關
git切換到已有分支:
1.先clonemaster上的代碼
2.然后git checkout test—-表示切換到test分支
git新建并且切換到分支
1.先clonemaster上的代碼
2.然后git checkout -b test—-表示新建test分支并且進行切換
推送分支到遠程倉庫
git push origin 分支名(最好不要省略)
將當前分支推送到origin主機的對應分支。
查看遠程分支
git branch -a
Git合并分支
git merge ${branchName}
git刪除分支
git branch -d ${branchName}
查看分支合并詳情
git log –graph –pretty=oneline –abbrev-commit
分支合并-禁用fast forward模式
git merge –no-ff -m "merge with no-ff” ${branchName}
丟棄一個沒有合并過的分支
git branch -D${branchName}
指定本地分支與遠程分支的連接,與遠程分支建立關聯
git branch –set-upstream-to=origin/dev dev
存在遠程分支,在本地創建分支,與遠程分支相對應
git checkout -b ${branchName} origin/${branchName}
三、其他
git一般使用流程
1.git clone
#有需要的話切換分支或者獲取tag
2.git checkout ${branchName} origin/${branchName}
or
git checkout ${tagName}
#進行相關文件內容的變更
3.mkdir/git rm -rf /vim…
4.git add -A(將本地的變更提交到暫存區)
5.git commit -m “變更說明”
6.git push origin 分支名
#如果有需要則推送tag
7.git push origin –tags
查看當前origin
git remote -v
顯示了可以抓取和推送的origin的地址。如果沒有推送權限,就看不到push的地址。
查看當前工作區與版本庫最新版本的區別
git diff HEAD –filename
讓文件回到最近一次commit或add的狀態
git checkout –${file}
撤銷暫存區的修改
git reset HEAD ${fileName}
將本地庫與遠程庫進行關聯
git remote add origin git@github.com:*********.git
切換origin
git push –set-upstream origin dev
存儲當前工作現場
git stash
查看存儲的列表
git stash list
恢復存儲的內容并且刪除臨時存儲
git stash pop
刪除遠程庫
git remote rm origin
本地關聯多個遠程庫
git remote add 別名1 git@github.com:*****.git
git remote add 別名2 git@gitee.com:*****.git
別名可以自己取
建立一個本地倉庫
1.新建文件夾test
2.cdtest
3.git init
git查看詳細日志
git log –pretty=oneline
git克隆指定分支的代碼
git clone -b
git版本回退:
在Git中,用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。
例如:
git reset –hard HEAD^—表示回退到上一個版本
從老版本回到新版本
git reset –hard 1094a (新版本的commitid)
git查看歷史的commitid
git reflog
查看狀態:
gitstatus
git工作原理圖解(圖片轉自廖雪峰老師git教程)
stage=暫存區