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...