2018-12-16

git命令的基本用法

**首先先安裝一下git,選擇download xxx(版本號) for windows ,默認(rèn)安裝即可,接著要建立一個倉庫 git init,我們在桌面新建一個study文件夾,這個時候鼠標(biāo)右鍵一下Git Bash Here,出現(xiàn)下面的樣子。
**

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study
$

然后我們在$后面輸入git init:

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study
$ git init
Initialized empty Git repository in C:/Users/Administrator/Desktop/study/.git/

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$

執(zhí)行這步操作之后git會幫我們標(biāo)識(master)表示這是主分支倉庫,我們打開文件開一下,會多出一個叫做.git的文件夾,它是隱藏起來的,我們可以用ls-all查看一下

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ ls -all
total 44
drwxr-xr-x 1 Administrator 197121 0 12月 16 16:41 ./
drwxr-xr-x 1 Administrator 197121 0 12月 16 16:35 ../
drwxr-xr-x 1 Administrator 197121 0 12月 16 16:41 .git/

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$

這個時候我們就建立好了一個倉庫了,我們試著往里面添加一下文件,添加一個study.txt,內(nèi)容為"Git is great;"

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ cat > study.txt <<EOF
> git is great;
> EOF
Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ ^C
Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ cat study.txt
git is great;
Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$

這個時候我們試著看看倉庫的狀態(tài),git status

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        study.txt

nothing added to commit but untracked files present (use "git add" to track)

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$

上面這個內(nèi)容告訴我們有一個叫做study.txt的文件沒有添加到倉庫,讓我們用git add<file>這個命名添加一下,我們添加一下:

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ git add study.txt

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$

這里什么信息都沒有給出,我們在看一下git status狀態(tài):

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ git status
On branch master
No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   study.txt

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$

這里提示的意思是我們已經(jīng)添加了一個新文件,但是還沒有提交,我們用一下提交的命令 git commit -m"這里是提交的注釋"

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ git commit -m"add study.txt"
[master (root-commit) 17a1296] add study.txt
 1 file changed, 1 insertion(+)
 create mode 100644 study.txt

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ 

這里告訴我們已經(jīng)提交了一個study的文件到倉庫了,我們在看一下git status

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ git status
On branch master
nothing to commit, working tree clean

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$

這里告訴我們倉庫很干凈,就是沒有什么文件是新添加或者刪除的。

我們把"git is great;"改為"git is great;git is great;git is great;重要事情說三遍"
然后我們在看看git status

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   study.txt

no changes added to commit (use "git add" and/or "git commit -a")

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$

他這里告訴我們的意思是:study文件經(jīng)過了修改,你可以選擇添加到倉庫并且提交,或者回退到之前的"git is great;"的版本,我們就不選擇添加了,我們選擇回滾然后查看一下是否回滾成功:

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ git checkout study.txt

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$ cat study.txt
git is great;

Administrator@DESKTOP-BLHO0OQ MINGW64 ~/Desktop/study (master)
$

回滾成功!下面說一下簡單的原理:

image

上面這四條命令在工作目錄(Worling Directory)、暫存區(qū)域(Stage(Index))和倉庫(History)之間復(fù)制文件:

git add files:將工作目錄的文件復(fù)制到暫存區(qū)域

git commit -m"xxx":將暫存目錄生成快照并提交到History,提交之后暫存區(qū)域就清空了, -m"xx"為本次提交說明

git reset --files:使用當(dāng)前分支上的修改覆蓋暫存區(qū),用來撤銷最后一次git add files。

git checkout --files:把文件從暫存區(qū)域復(fù)制到工作目錄,用來丟棄本地修改

git commit -a:把所以文件的修改提交到暫存區(qū)然后執(zhí)行提交。

git chekout HEAD --files:取出最后一次修改,可以用來進(jìn)行回滾操作。

git stash:在一個分支上操作之后,如果還沒有將修改提交到分支上,此時進(jìn)行切換分支,那么另一個分支上也能看到新的修改。這是因?yàn)闆]有任何未提交的修改。此時就可以安全的切換到其他分支上了。

SSH傳輸設(shè)置

git倉庫和GitHub中心倉庫之間的傳輸是通過SSH加密。

如果工作區(qū)下沒有.ssh目錄,或者該目錄下沒有id_rsa和id_rsa.pub這倆個文件,可以通過以下命令來生成SSH key:

```

$ ssh-keygen -t rsa -C "youremail@example.com"


然后把公鑰id_rsa.pub的內(nèi)容復(fù)制到GitHub "Account settings"的SSH Keys。

中。

* * *

**.gitignore文件**

**忽略以下文件:**

**· 操作系統(tǒng)自動生成的文件,比如縮略圖;**

**· 編譯生成的中間文件,比如Java編譯產(chǎn)生的.class文件;**

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

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

  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 16,203評論 5 147
  • Git 命令行學(xué)習(xí)筆記 Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 4,155評論 0 11
  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/。)是一個開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,941評論 0 13
  • kkkljlututuzx
    化妝師小妤閱讀 484評論 0 0
  • 游學(xué)第二天經(jīng)過長達(dá)15小時的旅程我們的安全降落在暹粒機(jī)場。開始全新旅程。 到暹粒比自己想象的要落后,...
    美樂王濤閱讀 329評論 0 0

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