Git 學習筆記 —— 基礎

pbov7399 8年前發布 | 9K 次閱讀 Git 版本控制系統

獲取 Git 倉庫

獲取 Git 項目倉庫的方法有兩種:

  1. 從本地目錄中導入所有文件到 Git 中
  2. 從一個服務器下載現有的 Git 倉庫

從現有目錄中初始化倉庫

進入該目錄

$git init

該命令創建一個名為 .git 的子目錄,這個子目錄含有你初始化的 Git 倉庫中所有的必須文件。

克隆現有的倉庫

克隆倉庫的命令格式是 git clone [url]

$ git clone [url]

記錄每次更新到倉庫

在工作目錄下的文件只有兩種狀態: 已跟蹤 和 未跟蹤 。

已跟蹤的文件 就是納入了版本管理的文件,它們也有三種狀態: 未修改 、 已修改 、 已放入暫存區 。工作區中除了已跟蹤的文件,其他都是 未跟蹤的文件 。

初次 克隆 某個倉庫的時候,所有文件屬于 已跟蹤 文件,并處于 未修改 狀態。

檢查當前文件的狀態

要查看哪些文件處于什么狀態,可以使用下面的命令。

$ git status

使用 git status -s 或者 git status --short 會得到緊湊的輸出。

跟蹤新文件

使用 git add 命令開始跟蹤一個文件,這是一個多功能命令。

$ git add <filename>

管理修改過的文件

暫存已修改文件

要暫存修改過的文件,需要運行 git add 命令。

$ git add <filename>

撤銷暫存的文件

$ git reset HEAD <filename>

撤銷對文件的修改

$ git checkout -- <filename>

這個命令是很危險的,一旦使用了這個命令,那對這個文件做的任何修改都會消失,回不來了。

忽略文件

在目錄下創建一個 .gitignore 文件,列出要忽略的文件模式,格式規范如下:

  • 所有空行或以 # 開頭的行都被忽略
  • 可以使用標準的 glob 模式匹配
  • 匹配模式可以以 / 開頭防止遞歸
  • 匹配模式可以以 / 結尾指定目錄
  • 要忽略指定目錄以外的文件,可以用 ! 取反

glob 模式

所謂 glob 模式是指 `` 使用的簡化了的正則表達式。

  • * 匹配零或多個任意字符
  • [abc] 匹配任意一個列在方括號里面的字符
  • ? 只匹配一個任意字符
  • [0-9] 匹配兩個字符范圍內所有字符
  • ** 匹配任意中間目錄 a/**/z ,匹配 a/z a/b/z a/b/c/z

查看已暫存和未暫存的修改

要查看未暫存的文件更新了哪些部分,不加參數直接輸入 git diff

$git diff

此命令比較的是工作目錄中 當前文件 和 暫存區快照 之間的差異,也就是說,當你暫存了所有修改過的文件之后,運行 git diff 是不會有什么輸出的。

若要查看已暫存的內容,可以用以下命令

$ git diff --staged

提交更新

提交時記錄的是放在暫存區的快照,任何未暫存的仍然保持已修改狀態,可以在下次提交時納入版本管理。

$git commit -m '簡短的提交信息'

跳過使用暫存區

把所有已經跟蹤過的文件暫存起來一并提交,跳過 git add 步驟,給 git commit 加上 -m 選項。

$ git commit -a -m '簡短的提交信息'

修改提交

提交完發現漏了文件沒有提交,或者提交信息填錯了。此時可以運行帶有 --amend 選項的提交命令嘗試重新提交。

$ git commit --amend

提交后發現忘記了暫存某些需要的修改,可以像下面這樣操作:

$ git commit -m 'init commit'
$ git add forgotten_file
$ git add --amend

這樣,第二次的提交將代替第一次提交。

移除文件

要從 Git 中移除某個文件,必須從已跟蹤文件清單中移除,然后提交。

$ git rm < 列出文件名 | 目錄名 | glob 模式 >

強制刪除

如果要刪除的文件已經修改過,并且已經放到了暫存區,就需要強制刪除 -f (force)

$ git rm -f <files>

取消跟蹤

如果想讓文件繼續留在磁盤,但是并不想讓 Git 繼續跟蹤。

$ git rm --cached <files>

文件重命名

$ git mv old_name new_name

運行 git mv 等于運行了下面三條命令

$ mv README.md README
$ git rm README.md
$ git add README

查看提交歷史

$ git log

不加任何參數, git log 會按提交時間列出所有更新,最近的更新放在上面。

遠程倉庫的使用

遠程倉庫是指托管在因特網或其他網絡中你項目中的版本庫。

查看遠程倉庫

如果想查看你已經配置的遠程倉庫服務器,可以運行 git remote 命令。它會列出你指定的每一個遠程服務器的簡寫。

$git remote

也可以指定選項 -v ,會顯示需要讀寫遠程倉庫使用 Git 保存的簡寫以及其對應的 URL

$git remote -v

如果你的遠程倉庫不止一個,該命令會將他們全部列出。

添加遠程倉庫

$ git remote add <shortname> <url>

添加一個新的遠程 Git 倉庫,同時指定一個你可以輕松引用的簡寫。

 

來自:http://mertensming.github.io/2016/11/07/learn-git-0/

 

 本文由用戶 pbov7399 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!