git 入門知識整理

2021-08-30 22:05:26 字數 2639 閱讀 5372

接觸git也有幾個月了,剛開始只是簡單地把它當做**雲儲存和備份的好方法,後面深入學習了一下,感覺有必要做乙個階段性的總結。

git 是由linus torvalds開發的,最初是為了解決linux的**託管問題,而linus正是linux的開發者。

集中式版本控制:svn,cvs

分布式版本控制:git,bitkeeper,mercurial

1. 設定git的user name和email

$ git config --global user.name "tristanhuang0501"

$ git config --global user.email "[email protected]"

2. 生成秘鑰
$ ssh-keygen -t rsa -c "[email protected]"
連續3個回車。如果不需要密碼的話。

最後得到了兩個檔案:id_rsa和id_rsa.pub

3. 登入github,新增ssh keys

複製id_rsa.pub中的內容到github的設定中新增公鑰

4. 更多設定

這時候就差不多可以用了,需要其他設定的可以參考:git-ssh 配置和使用

除了在本地使用外,更為重要的就是遠端倉庫的使用了,我們一般就是使用github,而大部分的網際網路公司都會使用gitlab搭建自己的**庫和**管理平台,因為這是很大的一筆資源和財富。

一些常用的命令:

本地專案新增遠端倉庫(以該部落格專案為例):

$ git remote add origin [email protected]:tristanhuang0501/tristanhuang0501.github.io.git
刪除本地繫結的遠端倉庫

$ git remote rm origin
本地推送至遠端倉庫:

$ git push -u origin master
第一次要使用-u引數,可以將本地的master分支與遠端的master分支關聯,後面再推送就可以直接git push或者git push origin master

檢視遠端倉庫的 url 資訊:

$ git remote -v | --verbose
這裡還得強調幾個注意點:

1.建立切換分支

$ git checkout -b dev
上面的這一句相當於兩句:

$ git branch dev

$ git checkout dev

2. 合併與衍合

有兩種途徑,特別注意這兩者的區別,現實中常會發生第二種需要衍合的場景:

merge命令把不同分支合併起來,如圖把當前提交(ed489 )和另乙個提交(33104)以及他們的共同祖父節點(b325c)進行一次三方合併。結果是先儲存當前目錄和索引,然後和父節點33104一起做一次新提交,所有會有乙個merge點作一次新的commit

rebase衍合是合併命令的另一種選擇。合併把兩個父分支合併進行一次提交,提交歷史不是線性的。衍合在當前分支上重演另乙個分支的歷史,提交歷史是線性的。

3. 標籤

4. 版本回滾

reset命令把當前分支指向另乙個位置,並且有選擇的變動工作目錄和索引。簡單地說就是改變了history區,index和working dir要看選用的引數

5. history區檢視

$ git log可以檢視目前的歷史區,找到對應的rsa,就可以checkout,但是往前回退會導致最新的一些commit資訊沒有了,這時候可以用$ git reflog,可以看到所有操作對應的rsa,使用$ gitk可以看到時間表

$ git config --global alias.lg "log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)%creset' --abbrev-commit"
效果是這樣的:

**sourcetree:**聽說是最多人用的

**gitkraken:**我用的就是這個,感覺挺酷的(不過現在覺得命令列最酷~~),對個人使用時免費的,用學校郵箱向github申請學生開發大禮包,可以公升級到pro版

shortcutfoo:這個**可以練快捷鍵和命令列操作,除了git的,還能練vim、sublime、linux、emacs等好多的快捷鍵

learngitbranching:左邊敲指令,右邊能圖形化地顯示邏輯,挺好的

git tutorial:這個和上面類似,所不同的是這個輸完指令後,顯示的是.git資料夾裡的檔案的變化,也是挺好的

git wiki:所有的東西都能在這裡查到大概

git知識整理

工作中使用git進行 託管,一開始只知道git add commit,之後了解了git flow外掛程式,覺得超牛逼,一鍵生成feature分支,再後來聽說原生git命令更好用,於是又去學了原生git命令。看了下git官方文件,記錄下學習的心得。git分為未跟蹤區,跟蹤區和暫存區。檔案一般都存放在未...

git入門知識

git 版本倉庫的初始化,有兩種方式 1 git clone 這是一種較為簡單的初始化方式,當你已經有乙個遠端的git版本庫,只需要在本地轉殖乙份 例如 git clone git 192.168.10.10 usr bbs bbs.git project 上面的命令就是將 git 192.168....

Git 入門 命令整理

git入門,首推廖海峰老師的教程,講的步驟很詳細,易操作。在這裡,再次感謝他的分享。鏈結為 git教程 下面整理了git shell 的命令大全,需要的可以直接查詢使用 git shell 的命令大全 git branch 檢視本地所有分支 git status 檢視當前狀態 git commit ...