Git學習筆記 基礎篇

2021-10-24 21:05:13 字數 3540 閱讀 5144

git可以說是所有開發者出開發語言之外的最基本的基本功了,熟悉git可以方便的進行**版本控制,以及與其他開發者進行合作開發。本文內容是我以往學習git時做的筆記,主要是關於git最基本的操作,但 只要熟練掌握本篇內容,可以說採用git進行開發基本沒有問題了。

1. git init :要對現有的某個專案開始用 git 管理,只需到此專案所在的目錄執行此命令。

2. git add + 檔名:將某個檔案納入到版本控制中。注:檔名可以用萬用字元,另外也可以用「git add all」或者「git add -a」來一次性將所有檔案新增到版本控制中。

4. git status :檢視git倉庫中的檔案出於哪一種狀態。注:untracked files是指未被git倉庫追蹤的檔案;new file是指已被跟蹤,並處於暫存狀態的檔案;modified指的是已跟蹤檔案的內容發生了變化,但還沒有放到暫存區。

5. 配置忽略檔案:有些檔案無需納入 git 的管理,也不希望它們總出現在未跟蹤檔案列表,那麼可以在git專案檔案中新建乙個名為「.gitignore」的檔案,在這個檔案中配置需要忽略的檔案。檔案 .gitignore 的格式規範如下:

例如:

# 此為注釋 – 將被 git 忽略

*.a # 忽略所有 .a 結尾的檔案

!lib.a # 但 lib.a 除外 /todo # 僅僅忽略專案根目錄下的 todo 檔案,不包括 subdir/todo build/ # 忽略 build/ 目錄下的所有檔案 doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt

6. git diff :檢視尚未暫存的檔案更新了哪些部分。git diff –cached則是檢視已經暫存起來的檔案和上次提交時的快照之間的差異。

7. git commit :提交更新。當git commit不加其他引數時,會開啟文字編輯器來輸入描述資訊。也可以使用git commit -m "描述資訊"的方式直接在命令中新增描述資訊。給 git commit 加上 -a 選項,git 就會自動把所有已經跟蹤過的檔案暫存起來一併提交,從而跳過 git add 步驟。

8. git rm + "檔名" :從 git 中移除某個檔案(磁碟目錄中也會刪除),就必須要從已跟蹤檔案清單中移除(確切地說,是從暫存區域移除),然後提交。如果只是簡單地從工作目錄中手工刪除檔案,git追蹤中仍會顯示。如果刪除之前修改過並且已經放到暫存區域的話,則必須要用強制刪除選項 -f強制移除。

9. git rm --cached + 「檔名」 :把檔案從 git 倉庫中刪除(亦即從暫存區域移除),但仍然希望保留在當前工作目錄中,以便稍後在 .gitignore 檔案中補上,用 –cached 選項即可。執行這一命令之後,該檔案會重新程式設計untraced的狀態。

10. git mv 「舊檔名" 」新檔名" :重新命名檔案,或者說移動檔案。

11. git log:檢視提交歷史記錄。

git log -p -2 :-p引數是用來顯示每次提交的內容差異,-2表示僅顯示最近的兩次提交。

12. git commit --amend:撤銷提交操作。例如:首先建立乙個1.txt檔案,並儲存到git。

touch 1.txt

git add 1.txt

git commit -m "新建檔案1.txt"

這時候發現,忘了還要新建乙個2.txt檔案,這時候後悔了,想要撤銷剛才的提交,新建號兩個檔案,一起add 然後commit。可以這麼做:

touch 2.txt

git add 2.txt

git commit --amend -m "新建兩個檔案1.txt和2.txt"

這之後,上一一次的commit就回作廢,使用git log檢視記錄就回發現,提示資訊之後"新建兩個檔案1.txt和2.txt"這乙個,而"新建檔案1.txt"已經被覆蓋(刪除)了。

13. git reset head 檔名:取消暫存(add)。當對多個檔案同時add之後,發現某個檔案不需要add,那麼就可以使用這一命令。

14.git checkout -- 檔名 :撤銷之前的所有操作,恢復到最近的一次commit。注意,該命令必須是修改之後還未進行add之列的操作,否則就回不去了。該命令你一旦執行,所做修改都會消失,回到最近的commit。

15. git remote 檢視遠端倉庫。該命令會列出所有的遠端倉庫,如果確定配置有遠端倉庫,至少應該能看到 origin - 這是 git 給你轉殖的倉庫伺服器的預設名字(注:origin是預設的遠端倉庫名稱,master是預設的分支)。進一步,還可以指定引數-v:

git remote -v指定選項 -v,會顯示需要讀寫遠端倉庫使用的 git 儲存的簡寫與其對應的 url。

git remote show [remote-name]顯示遠端倉庫的詳細資訊(真的很詳細)。

16. git remote add 新增遠端伺服器。可以認為shortname是給遠端倉庫取的乙個別名,也就是說上面說的remote-name,下次使用這個遠端倉庫時,就不需要通過url,使用這個別名就好了。

17. git fetch [remote-name] [branch-name] 從遠端倉庫中拉取。這個命令會訪問遠端倉庫,從中拉取所有你還沒有的資料。 執行完成後,你將會擁有那個遠端倉庫中所有分支的引用,可以隨時合併或檢視。 必須注意 git fetch 命令會將資料拉取到你的本地倉庫 - 它並不會自動合併或修改你當前的工作。 當準備好時你必須手動將其合併入你的工作。

18.git pull [remote-name] [branch-name]從最初轉殖的伺服器上抓取資料並自動嘗試合併到當前所在的分支。

19. git push [remote-name] [branch-name]將本地倉庫推送到遠端倉庫remote-name上的branch-name上。只有當你有所轉殖伺服器的寫入許可權,並且之前沒有人推送過時,這條命令才能生效。 當你和其他人在同一時間轉殖,他們先推送到上游然後你再推送到上游,你的推送就會毫無疑問地被拒絕。 你必須先將他們的工作拉取下來並將其合併進你的工作後才能推送。

20. git remote rename old-name new-name 給遠端倉庫重新命名

21. git remote rm + 倉庫名 移除遠端倉庫

Git學習0基礎篇(下)

git能夠使用四種基本的協議傳輸資料 本地協議 local http 協議 ssh secure shell 協議以及 git 協議。眼下使用最普及的是 ssh 協議和 http 協議。本地協議的長處是簡單,缺點是不方便從多個位置訪問。轉殖乙個本地版本號庫,能夠執行例如以下命令 git clone ...

oracle學習筆記(基礎篇)

關係 表 欄位列 記錄行 檔案表e r圖 一對一直線 一對多爪子 可選虛線 實體 方框 正規化 1nf 重複的組 2nf 部分依賴 3nf 傳遞依賴 表設計 名稱最長 30個字元,以字母開頭。表允許數字,下劃線,號,但不能有空格。表名唯一。不能使用保留字。乙個表最多可以包含 1000行 資料型別 v...

Lua學習筆記(基礎篇)

常用運算子 變數命名 變數名和識別符號必須以下劃線或字母開頭。名稱的本身不能包含有除字母 數字或下劃線之外的其它字元。變數名區分大小寫。變數名不得為lua中的關鍵字。lua中的關鍵字 and break do else elseif false for function if in local ni...