Git使用

Git使用及代碼倉庫介紹


Git是一個很強大的代碼版本管理工具,在Git的使用過程當中,不斷學習積累Git的命令行及其做用,在本篇文章中記錄了筆者使用過程的積累,之後還會持續更新。代碼倉庫分爲分爲工做區 暫存區 本地倉庫 遠程倉庫 四個區,主要工做流程爲暫存,拉取,恢復暫存,合併(若是有衝突),提交,推送

1.初始化Git

git initgit

2.建立忽略文件

touch .gitignore(這裏面能夠寫一些忽略文件,git add/commit/push的時候不會上傳忽略文件,能夠參照其它項目)運維

3.把遠程repository加到本地

git remote add origin 遠程地址工具

4.將工做區代碼提交到本地暫存區

git add --all
git add .

5.配置用戶名郵箱

git config user.name "JerryMouseLi"
git config user.email "j213@137.com"

6.提交暫存區代碼到本地代碼倉庫

git commit -m "提交備註"學習

7.從遠程倉庫拉取代碼到本地倉庫

git pull origin master
pull包含了fetch跟merge將本地倉庫的變化與遠程倉庫變化,同名文件合併。這裏有衝突須要解決衝突。fetch

8.提交本地倉庫代碼到遠程倉庫

git push origin maste命令行

9.硬恢復到指定提交版本

git reset --hard commit_id 日誌

9.1 本地倉庫強制覆蓋遠程倉庫

`
git push origin master --forcecode

`orm

10.導出提交修改日誌

git log --pretty=format:"%ai , %an: %s" --since=「100 day ago」 >> ~/Desktop/commit.log

git log --pretty=format:"%ai , %an: %s" >> ~/Desktop/Readme.log

最終採用
git log  --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:"%ad , %an: %s" >> ~/Desktop/Readme.log
選項   說明
%H    提交對象(commit)的完整哈希字串
%h    提交對象的簡短哈希字串
%T    樹對象(tree)的完整哈希字串
%t    樹對象的簡短哈希字串
%P    父對象(parent)的完整哈希字串
%p    父對象的簡短哈希字串
%an    做者(author)的名字
%ae    做者的電子郵件地址
%ad    做者修訂日期(能夠用 -date= 選項定製格式)
%ar    做者修訂日期,按多久之前的方式顯示
%cn    提交者(committer)的名字
%ce    提交者的電子郵件地址
%cd    提交日期
%cr    提交日期,按多久之前的方式顯示
%s    提交說明

11.查看本地分支與遠程分支

git branch -a 查看全部分支

git branch -r查看遠程分支

git branch  查看分支

12.下載遠程分支

git clone -b CQDemo https://git.dev.tencent.com/xxx/xxx.git對象

13.找回暫存區裏丟失的代碼

git fsck --lost-found //找回git add過可是已經不存在文件中的內容

14 修改最近一次commit的註釋

git commit --amend
commit提供了一個--amend參數,能夠修改最後一次提交的信息.可是若是你已經push過了,那麼其歷史最後一次,永遠也不能修改了。

15.修改做者名稱

主要我用來導出git日誌的時候用
git commit --amend --author "xw aa.hbl@gmail.com"

// 設置全局
git config --global user.name "Author Name"
git config --global user.email "Author Email"

// 或者設置本地項目庫配置
git config user.name "Author Name"
git config user.email "Author Email"

16. git tag的用法

咱們經常在代碼封板時,使用git 建立一個tag ,這樣一個不可修改的歷史代碼版本就像被咱們封存起來同樣,不管是運維發佈拉取,或者之後的代碼版本管理,都是十分方便的

16.1.git的tag功能

git 下打標籤其實有2種狀況

  • 輕量級的:它實際上是一個獨立的分支,或者說是一個不可變的分支.指向特定提交對象的引用
  • 帶附註的:其實是存儲在倉庫中的一個獨立對象,它有自身的校驗和信息,包含着標籤的名字,標籤說明,標籤自己也容許使用 GNU Privacy Guard (GPG) 來簽署或驗證,電子郵件地址和日期,通常咱們都建議使用含附註型的標籤,以便保留相關信息
    因此咱們推薦使用第二種標籤形式

16.2.建立tag

git tag -a V1.2 -m 'release 1.2'

上面的命令咱們成功建立了本地一個版本 V1.2 ,而且添加了附註信息 'release 1.2'

16.3.查看tag

git tag

要顯示附註信息,咱們須要用 show 指令來查看

git show V1.2

可是目前這個標籤僅僅是提交到了本地git倉庫.如何同步到遠程代碼庫

git push origin --tags

若是剛剛同步上去,你缺發現一個致命bug ,須要從新打版本,如今還爲時不晚.

git tag -d V1.2

到這一步咱們只是刪除了本地 V1.2的版本,但是線上V1.2的版本仍是存在,如何辦?這時咱們能夠推送的空的同名版本到線下,達到刪除線上版本的目標:

git push origin :refs/tags/V1.2

如何獲取遠程版本?

git fetch origin tag V1.2

這樣咱們能夠精準拉取指定的某一個版本.適用於運維同窗部署指定版本.

相關文章
相關標籤/搜索