Git 安裝與使用 Day48 2019-01-07

Git 安裝與使用

一、基本操作

1. 下載安裝

下載對應(yīng)的Git版本安裝

2. 配置Git

打開Git bash,配置用戶名及郵箱

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

3. 創(chuàng)建一個新倉庫 – git init

git會把所有文件以及歷史記錄直接記錄成一個文件夾保存在你的項目中。

創(chuàng)建一個新的倉庫,首先要去到項目路徑下,執(zhí)行git init。這時Git會創(chuàng)建一個隱藏的文件夾.git,所有的歷史和配置信息都儲存在其中。

$ cd /c/Users/zgldo/doinggit
$ git init 

命令行出現(xiàn)

Initialized empty Git repository in /c/Users/zgldo/doinggit/.git/

這說明我們的倉庫已經(jīng)建立好了,但現(xiàn)在是空的,試著新建一個文件(例如:README.md)到這個文件夾里。

4. 檢查狀態(tài) – git status

4.1 git status說明

Git status是另一個非常重要的命令,它反饋給我們倉庫當(dāng)前狀態(tài)的信息:是否為最新代碼,有什么更新等等。在我們新建的倉庫中執(zhí)行git status會得到以下內(nèi)容:

Git_status命令結(jié)果
image

反饋信息告訴我們,(例如:README.md)尚未跟蹤,這是說這個文件是新的,git不知道是應(yīng)該跟蹤它的變動還是直接忽略。為了跟蹤我們的新文件,我們需要暫存它。

4.2 中文顯示問題

在默認設(shè)置下,中文文件名在工作區(qū)狀態(tài)輸出,中文名不能正確顯示,而是顯示為八進制的字符編碼。如上圖。
通過將git配置變量 core.quotepath 設(shè)置為false,就可以解決中文文件名稱在這些Git命令輸出中的顯示問題:

$ git config --global core.quotepath false
Git_status_中文顯示

5. 暫存 – git add

Git有個概念叫“暫存區(qū)“,你可以把它看成一塊空白的畫布,包裹著所有你可能會提交的變動。它一開始是空的,可以通過 git add命令添加內(nèi)容,最后使用 git commit 提交(創(chuàng)建一個快照)。

這個例子中只有一個文件,讓我們先add它:

$ git add README.md

如果需要提交目錄下的所有內(nèi)容,可以這樣做:

$ git add -A # 提交所有變化
$ git add -u # 提交被修改(modified)和被刪除(deleted)文件,不包括新文件(new)
$ git add .  # 提交新文件(new)和被修改(modified)文件,不包括被刪除(deleted)文件

再次使用git status查看狀態(tài)試試:

Git_add_之后的status

我們的文件已經(jīng)準備好可以提交了。狀態(tài)信息還告訴我們暫存區(qū)文件發(fā)生了什么變動,這里我們新增了一個文件,同樣可以做修改和刪除。取決于我們在上一次git add之后發(fā)生了什么。

6.提交 – git commit

一次提交代表著我們的倉庫到了一個新的狀態(tài),就像是一個快照,允許我們像使用時光機一樣回到之前的某個時間點。

創(chuàng)建提交,需要我們至少在到暫存區(qū)有一次修改(剛才我們做了git add),然后輸入命令:

$ git commit -m "修改注釋."

這就創(chuàng)建了一次從暫存區(qū)的提交(加入README.md),-m “修改注釋.”是用戶對這次提交的描述,建議寫成有意義的描述性信息。

7. 查看修改內(nèi)容

$ git diff 文件名+類型
查看修改內(nèi)容

8. 查看文件內(nèi)容

$ cat 文件名
查看文件內(nèi)容

二、遠程倉庫

到目前為止,我們的操作都是在本地的——只存在于.git文件中。為了能夠協(xié)同開發(fā),我們需要把代碼部署到遠程倉庫服務(wù)器上。

1. 鏈接遠程倉庫 – git remote add

為了能夠上傳到遠程倉庫,我們需要先建立起鏈接。在這篇教程中,我們遠程倉庫的地址為:https://github.com/zgldoing/DoingGit.git。但你應(yīng)該自己在Github、或BitBucket上搭建倉庫,自己一步一步嘗試。

把本地倉庫鏈接到Github上,在命令行執(zhí)行以下內(nèi)容:

# This is only an example. Replace the URI with your own repository address. 
$ git remote add origin https://github.com/zgldoing/DoingGit.git

一個項目可以同時擁有好幾個遠程倉庫,為了區(qū)分通常會起不同的名字。通常主要的遠程倉庫被稱為origin

2.上傳到服務(wù)器 – git push

把本地的提交傳送到服務(wù)器的動作叫做push。每次我們要提交修改到服務(wù)器上時,都會使用到git push

git push命令有兩個參數(shù),遠程倉庫的名字,以及分支的名字:

# $ git push origin master 
$ git push
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 297 bytes | 297.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/zgldoing/DoingGit.git
   7e26bc1..3ec5f5d  master -> master

取決于你使用的服務(wù)器,push過程中你可能需要驗證身份(輸入用戶名、密碼,請先在網(wǎng)站上進行注冊)。如果沒有出差錯,現(xiàn)在用瀏覽器看你的遠程倉庫上已經(jīng)有README.md了。

3.克隆倉庫 – git clone

其他人可以看到你放在Github上的開源項目,他們可以用git clone命令下載到本地。

$ git clone https://github.com/zgldoing/DoingGit.git

本地也會創(chuàng)建一個新的倉庫,并自動將github上的版本設(shè)為遠程倉庫。

4.從服務(wù)器上獲得修改 – git pull

如果你更新了遠程倉庫上的內(nèi)容,其他人可以通過git pull命令拉取你的變動:

$ git pull origin master 
From https://github.com/zgldoing/DoingGit.git
* branch            master     -> FETCH_HEAD 
Already up-to-date.

因為在我們git clone之后還沒有提交過修改,所有沒有任何變動。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 16,212評論 5 147
  • Git 命令行學(xué)習(xí)筆記 Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 4,162評論 0 11
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,848評論 4 54
  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/。)是一個開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,957評論 0 13
  • 對于“尊重”這條基本而又淺顯的育兒理論我是完全不陌生的,甚至我還總自以為是地認為這于我來說就是小case。直到最近...
    用心一二閱讀 440評論 0 0

友情鏈接更多精彩內(nèi)容