三種狀態
已修改 工作區 m
已暫存 暫存區 a
已提交 本地倉庫
??新增但未加入git管理
基本命令
配置基本使用者資訊
git config --global user.name "bishuyuan"
git config --global user.email [email protected]
檢查配置資訊
git config --list
初始化倉庫
git init
轉殖
git clone url
git clone url newname 可以給你轉殖的起乙個名字
檢視狀態
git status
git status -s 簡潔形式輸出狀態
日誌
git log --pretty=oneline 每條log只顯示一行
git log --pretty=format:"%h - %an, %ar : %s" 自定義log格式
暫存全部修改的檔案
git add .
對比
git diff text.txt 對比工作區和 暫存區 文字區別
git diff --cached test.txt 對比 暫存區和本地倉庫文字區別
git diff head 對比工作區 和 本地倉庫 區別
git diff 版本
git diff 版本1 版本2 跟log命令一樣,diff也可以加上--stat引數來簡化輸出
不經過暫存區直接提交
git commit -a 會先把所有已經track的檔案的改動add進來,然後提交(有點像svn的一次提交,不用先暫存). 對於沒有track的檔案,還是需要git add一下
回退三個模式
git reset --mixed id 取消了commit和add的內容
git reset –-soft id 回退到某個版本,只取消了commit的資訊。如果還要提交,直接commit即可;
git reset -–hard id 徹底回退到某個版本,本地的原始碼也會變為上乙個版本的內容,撤銷的commit中所包含的更改被沖掉;
反轉撤銷
git revert 是用於「反做」某乙個版本,以達到撤銷該版本的修改的目的。比如,我們commit了三個版本(版本
一、版本二、 版本三),突然發現版本二不行(如:有bug),想要撤銷版本二,但又不想影響撤銷版本三的提交,就可以用 git revert 命令來反做版本二,生成新的版本四,這個版本四里會保留版本三的東西,但撤銷了版本二的東西。
git revert -n id
刪除
git rm 用於從索引中刪除檔案或者同時從工作區和索引中刪除檔案。具體是哪種操作,看後面跟的操作選項。
git rm filename: 同時從工作區和索引中刪除檔案。即本地的檔案也被刪除了。
git rm --cached filename: 從索引中刪除檔案。但是本地檔案還存在, 只是不希望這個檔案被版本控制。
git clean 命令用來從你的工作目錄中刪除所有沒有tracked過的檔案
分支git branch 列出當前分支,並星號顯示當前分支
git branch -v 可以看見每乙個分支的最後一次提交
git branch (branchname): 建立乙個新的分支(當你用這種方式建立分支的時候,分支是基於你的上一次提交建立的).
git branch -d (branchname): 刪除乙個分支.`
git checkout (branchname) 切換到乙個分支.
git checkout -b (branchname): 建立並切換到新的分支.`
git merge 把乙個分支merge進當前的分支.`
git remote -v: 可以檢視每乙個分支及對應的別名
git remote add name url 新增乙個分支
git remote rm name 刪除分支
git remote rename oldname newname 重新命名
git fetch fetch將會取到所有你本地沒有的資料,
git pull == fetch + merge fetch_head
git pull會首先執行git fetch,然後執行git merge,把取來的分支的head merge到當前分支.這個merge操作會產生乙個新的commit
Git學習筆記之常用Git命令
看了網上的許多教程,要不就是特別難,要不就是只介紹幾個命令,感覺完全忘了初學者不懂的到底有哪些,找了一些很適合初學者的一些教程,放在下面。首先感謝廖雪峰大神寫出這麼詳細的教程。這篇文章是記錄一下看的過程中比較重要或則是比較容易忘的,直接看下面的鏈結 不需要看我的,我的沒有下面的詳盡,而且我省略了很多...
GIT學習筆記 命令基礎 打標籤
git tag 顯示當前所有標籤 git tag l 匹配規則 篩選出想要的標籤 是字母 小寫 l 建立標籤 git使用兩種主要型別的標籤 輕量標籤 lightwerght 與附註標籤 annotated 乙個輕量標籤很像乙個不會改變的分支 它只是乙個特定提交的引用。然而,附註標籤是儲存在 git ...
Git基礎命令學習
git基礎命令學習筆記 git init 命令目錄變成 git 可以管理的倉庫 git add 把檔案新增到倉庫 可多次add不同的檔案 git commit 把檔案提交到倉庫 git satus 命令檢視狀態,可以讓我們時刻掌握倉庫當前的狀態 git diff 檔名稱 可以看到指定檔案的修改內容 ...