git簡介
Git是一個免費的開源版本控制系統,最初由Linus Torvalds在2005年創建。與諸如SVN和CVS之類的較舊的集中版本控制系統不同,Git是分佈式的:每個開發人員都在本地擁有其代碼存儲庫的完整歷史記錄。 這使存儲庫的初始克隆速度變慢,但隨後的操作(例如commit,blame,diff,merge和log)則大大加快(dramatically faster.)。
Git還對branching——分支,merging——合併和rewriting重寫存儲庫歷史記錄提供了出色的支持,這帶來了許多創新而強大的工作流和工具。 pull request是一種非常流行的工具,它允許團隊在Git分支上進行協作並有效地檢查彼此的代碼。 Git是當今世界上使用最廣泛的版本控制系統,被認爲是軟件開發的現代標準。
git常用命令
Git task | Notes | Git commands |
---|---|---|
用戶配置 | 配置要用於提交的作者姓名和電子郵件地址。 請注意,Git從user.name中剝離了一些字符(例如尾隨句點)。 |
git config --global user.name "Sam Smith"
|
創建一個新的本地repository |
|
|
check out一個repository | 創建本地存儲庫的工作副本 |
|
對於遠程服務器,請使用: |
|
|
添加文件 | 將一個或多個文件添加到暫存(索引)中: |
|
提交commit | 將更改提交到頭部(但尚未提交到遠程存儲庫): |
|
提交使用git add添加的所有文件,以及提交自那時以來更改的任何文件: |
|
|
push | 將更改發送到遠程存儲庫的master分支: |
|
status | 列出您已更改的文件以及仍需要添加或提交的文件: |
|
連接到一個遠端的repository | 如果您尚未將本地存儲庫連接到遠程服務器,添加服務器以將其推送到遠程服務器: | git remote add origin <server> |
列出所有當前配置的遠程存儲庫: | git remote -v |
|
分支branches | 創建一個新分支並切換到它: |
|
從一個分支切換到另一個: |
|
|
列出您的存儲庫中的所有分支,並告訴您當前位於哪個分支: |
|
|
刪除功能分支: |
|
|
將分支推送到您的遠程存儲庫,以便其他人可以使用它: |
|
|
把所有分支發送到遠程存儲庫 |
|
|
刪除遠程存儲庫的一個分支 |
|
|
遠端repository的更新 | 提取併合並遠程服務器上的更改到您的工作目錄: | git pull |
要將另一個分支合併到活動分支中: |
|
|
查看所有合併衝突: 合併前預覽更改: |
git diff
|
|
手動解決所有衝突後,請標記更改的文件: |
|
|
標記tags | 您可以使用標記來標記重要的變更集,例如版本: |
|
CommitId是變更集ID的前導字符,最多10個,但必須唯一。 使用以下方法獲取ID: |
|
|
將所有標籤推送到遠程存儲庫: |
|
|
撤銷本地修改undo | 如果對所有的代碼混亂了,可以將工作樹中的更改替換爲head中的最後一個內容: 已經添加到索引中的更改以及新文件將被保留。 |
|
相反,要刪除所有本地更改和提交,請從服務器獲取最新歷史記錄,然後將本地master分支指向該服務器,請執行以下操作: |
|
|
查找 | 在工作目錄中搜索foo(): | git grep "foo()" |
此外,還有一個非常有用的命令git restore,用於撤銷本地的文件修改。
如何刪除untracked 的文件呢?可以使用命令 git clean -f 。注意這個命令刪除的是新增的文件,不包含有改動的文件,有改動的就用上面的命令。