git安裝與使用

Git是目前世界上最先進的分布式版本控制系統,高端大氣上檔次!

1、環境搭建

git官網下載安裝包,默認安裝,安裝完后 進入Git-Git Bash會跳出一個命令窗口,輸入命令

git --version

即可查看安裝情況,如果出現版本號,即代表安裝成功。

安裝成功

ps:Git Bash命令窗口是目錄結構 是linux類型,可以用來ssh遠程機器和進行和操作linux相關的操作,超級實用!!!

裝完后還需要洗后一步設置,在命令行輸入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

因為Git是分布式版本控制系統,所以,每個機器都必須自報家門:你的名字和Email地址。
配置之后在命行輸入下面命令可以查看具體配置情況

git config --list

2、版本庫管理

創建版本庫的步驟
  1. 選擇一個合適的空目錄,執行命令git init,會在你的目錄出現一個隱藏目錄.git,用來版本管理的,嚴禁修改
  1. 將文件添加至版本庫,執行命令git add fileName
  2. 將文件進行提交,執行命令git commit -m "提交說明"

實操步驟見下圖

1527925757(1).png
文件狀態

git中使用命令git status用于查看當前庫的狀態,具體有以下幾種情況:

  • 與倉庫完全一致時
1527948919(1).png
  • 新建一個文件(hello.text),還沒有添加至版本庫時
image.png

。

樣例中新添了一個文件,并沒有用git管理起來.

ps:此時如果需要撤銷修改,可以使用git checkout -- fileName

  • 執行add命令至暫存區之后:
image.png

ps:此時如果需要撤銷修改,可以使用git reset HEAD fileName 把提交暫存區的修改去除,之后再使用 git checkout -- fileName即可撤銷修改。

  • 進行commit之后,此時文件已經提交至本地倉庫了,再執行git status 就第一種情況一樣了。

ps:此時如果需要撤銷修改,可以使用版本回退命令git reset 版本號

#######版本回退
reset

版本間的回退使用git reset [--soft||--mixed||--hard] 版本號 來操作

--soft //只改變分支的提交
--mixed //改變分支和暫存區,不改變本地工區,默認
--hard //都改變

Git的版本回退速度非常快,因為Git在內部有個指向當前版本的HEAD指針,當你回退版本的時候,Git僅僅是把HEAD指向了你要回退的版本

revert
操作撤銷使用 git revert 版本號,進行一次性的commit進行覆蓋

reset和revert區別

版本比較

可以使用git diff進行版本差異的對比

image.png

上圖是所有文件的差異顯示,源文件默認是HEAD版本,目標文件是本地文件,當然命令可以添加版本和指定文件的命令,git diff 版本號||版本號前幾位||HEAD^N(N>=0) 目標文件,例

git diff f3d3029f9fcc767234d560a2aed1e9298be18952 hello.txt
git diff f3d30 hello.txt
git diff HEAD hello.txt

其中版本號f3d3029f9fcc767234d560a2aed1e9298be18952hello.txt的最新一次提交,上面三個命令結果一致。

#######提交日志
當想查看提交日志時,可以使用git log [--oneline] [filename]命令,主要有一下集中常見的用法

git log
image.png
git log --oneline
image.png
git log fileName//過縷與文件相關的提交記錄,也可添加--oneline
git reflog//記錄命令日志,可添加fileName進行過濾
image.png

3、遠程倉庫

gitHub:現在的git的遠程倉庫最火的莫過于gitHub(最近微軟好像要收購),免費托管,但是如果要創建私有庫是需要收費的。

gitLab:也是一個免費的托管倉庫,可以免費創建私有庫,一般企業用會自己搭建GitLab的倉庫服務。

github VS gitlab

使用遠程倉庫有以下兩種場景:

  1. 先有本地倉庫,需要上傳至遠程倉庫
  2. 已有遠程倉庫,需要下載至本地倉庫

一般實際項目都是第2種情況,那這里也以第二種情況進行說明

step1: 倉庫。首先你得獲取一個遠程倉庫的地址,例:git@github.com:weaimike/hello-world.git

step2:克隆。使用git clone url命令進行倉庫克隆

1527943684(1).png

克隆完成后,進來項目目錄,使用命令git remote -v可以查看遠程倉庫信息。

image.png

step3: 更新。git更新遠程倉庫使用命令git pull,會將遠程倉庫的提交拉取至本地 并與本地倉庫進行合并,合并的會有沖突,這個在分支管理中會講解。

step4:推送。將本地提交推送至遠程倉庫,使用命令git push [remote-name] [branch-name]

4、分支管理

分支開發有點類似下面的圖的示意,


0.png
 git branch 分支名稱  //創建分支
 git checkout 分支名稱 //切換分支
 git branch     //查看當前分支
 git branch -d 分支名稱 //刪除分支
 git merge --no-ff -m "合并信息" 分支名稱 //將分支名稱 以 --no--ff 模式 合并到當前的分支
 git merge 分支名稱 //以fast-forward 模式 合并

5、idea使用git

克隆

image.png
image.png

上面演示了如何從遠程倉庫 clone 項目。

本地開發

從遠程拉下項目之后,就要進行繁瑣的項目開發,那idea能不能像 svn那樣,一眼就看出 當前文件的狀態呢?答案是可以的,看下圖

image.png

咱們用命令git status來對比下 與idea 顯示的結果是對應得上的,通過idea顯示的顏色,能夠快速的知道當前文件的狀態。

image.png

開發完之后先提交至本地倉庫,先add再commit.

image.png

image.png

idea常見的操作見下:


常用操作.png

團隊協作模式

1、需要先用git pull試圖合并;

2、如果合并有沖突,則解決沖突,并在本地提交;

3、沒有沖突或者解決掉沖突后,再用git push origin <branch-name>推送就能成功!

參考文獻

git使用教程

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,836評論 6 540
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,275評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,904評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,633評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,368評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,736評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,740評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,919評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,481評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,235評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,427評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,968評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,656評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,055評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,348評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,160評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,380評論 2 379

推薦閱讀更多精彩內容

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,690評論 4 54
  • Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來。這樣一來,任何一處協同...
    __silhouette閱讀 15,931評論 5 147
  • 要說吸引力法則還真是一個神奇的法則,鏈接能力實在太強了。由思維導圖接觸到視覺記錄,又鏈接到快速記憶繪圖法。分別鏈接...
    世界記憶大師程程閱讀 587評論 0 0
  • 有時候我們會這樣想: “可能我這一輩子就這樣了” 你我似乎都無力改變現狀 且 只能安靜的等候 甚至都不知道為什么等...
    RobinsonFB閱讀 214評論 0 1
  • 呵呵。今天拉了一個念準提的師兄進普度群。 他說,念佛的適合下根人。 我心里捂嘴偷笑:“念佛是三根普被的。您高才勇哲...
    夜深月明閱讀 227評論 0 0