安裝後初始化配置:
$ git config --global user.name
$ git config --global user.email
使用 git 來對現有的專案進行管理,初始化命令:
$ git init
檔案有四個狀態: untracked、unmodified、modified、staged。
要檢視哪些檔案處於什麼狀態,可以用 git status 命令
untracked 未跟蹤,就是從來沒被執行過add的檔案,沒有加入到git庫, 不參與版本控制
unmodified 已經執行add並commit提交入庫的檔案
modified 參與版本控制的檔案,被修改後還沒進行任何操作時的狀態, 可進行
addstaged 執行了add,但未commit
add命令:
git add 《檔名》 將這個命令理解為“新增內容到下一次提交中”,執行了 git add
之後又作了修訂的檔案,需要重新執行
git add
把最新版本重新暫存起來
git add . 新增修改、新增的,不包括刪除的(指的是直接從硬碟刪除,但
git仍在跟蹤)
git add -u 新增修改、刪除的,不包括新增的
git add -a(
git add --all
) 新增修改、新增、刪除
執行add之前(
modified
狀態)可以使用
git checkout --
來撤銷,這時會回到unmodify狀態
執行add之後(
staged
狀態)使用
git reset head 來撤銷,同樣會回到unmodify狀態
commit命令:
現在的暫存區域已經準備妥當可以提交了( staged )。
在此之前,請一定要確認還有
什麼修改過的或新建的檔案還沒有 git add 過,否則提交的時候不會記錄這些還沒暫存起來的變化,這些修改過的檔案只保留在本地磁碟。所以,每次準備提交前,先用 git status 看下,是不是都已暫存起來了, 然後再執行提交命令:
$ git commit –m 《提交說明
>
git 提供了一個跳過使用暫存區域的方式, 只要在提交的時候,給
git commit
加上 -a
選項,git
就會自動把所有已經跟蹤過的檔案暫存起來 一併提交,從而跳過
git add
步驟:$ git commit -a -m 《提交說明
>
git分支操作:
git branch 檢視當前分支
git branch 《分支名
>
新建分支
git checkout 《分支名
>
切換當前分支
git checkout -b 《分支名
>
新建並切換
git merge 《分支名
>
將分支名對應的分支合併到當前分支
git branch -d 《分支名
>
刪除分支
git branch -d 《分支名
>
強制刪除分支(例如分支未合併用上一條命令是刪不了的)
git tag 《標籤名
>
給當前狀態打標籤
git checkout 《標籤名
>
回到打該標籤名時的狀態
刪除檔案:
刪除檔案用 git rm 《檔名
>
如果刪除之前修改過並且已經放到暫存區域的話(還未commit),則必須要用強制刪除選項 –f
另外一種情況是,我們想把檔案從 git 倉庫中刪除(亦即從暫存區域移除),但仍然希望保留在當前工作目錄中。 換句話說,你想讓檔案保留在磁碟,但是並不想讓 git 繼續跟蹤。為達到這一目的,使用 --cached 選項:
$ git rm --cached readme (之後git status會顯示
untracked
)如果是刪除某個資料夾的話就是
git rm -r --cached file
//不刪除本地檔案
git rm -r --f file
//刪除本地檔案
檢視提交歷史:
git log
預設不用任何引數的話,git log 會按提交時間列出所有的更新,最近 的更新排在最上面。
一個常用的選項是 -p,用來顯示每次提交的內容差異。 你也可以加上
-2 來僅顯示最近兩次提交。
你也可以為 git log 附帶一系列的總結性選項。 比如說,如果你想看到每次提交的簡略的統計資訊,你可以使用
--stat
選 項。
--stat
選項在每次提交的下面列出額所有被修改過的檔案 、有多少檔案被修改了以及被修改過的檔案的哪些行被移除或是新增 了。 在每次提交的最後還有一個總結。
用git管理遠端
github
專案:從一個伺服器克隆一個現有的 git 倉庫:
git clone
本地專案關聯遠端倉庫:
git remote add origin 《遠端地址》
其中origin為遠端主機名,可以隨便取
(如果是專案的clone下來的話,則預設使用
git管理並且新增了遠端)
git push -u origin master //提交本地到遠端
origin
主機maser
分支如果在github的
remote
上已經有了檔案,而該檔案的最新狀態不是由你
push
的話,會出現錯誤。此時應當先
pull
一下,即:
git pull origin master
然後再執行push操作
或者可以直接執行git push -u origin master -f 強制
push
,但這樣遠端會被覆蓋並從新開始
常用git操作
git中從遠端的分支獲取最新的版本到本地有這樣2個命令 1.git fetch 相當於是從遠端獲取最新版本到本地,不會自動merge git fetch origin master git log p master origin master git merge origin master 以上命令...
常用git操作
1.刪除無意中新增到git倉庫的帶有.git的資料夾 很多解答是教你如何刪除git repository的子模組 submodule 但是實際上這種情況不是子模組,所以在.git目錄下沒有.gtimodules檔案,在config檔案中也沒有相關的配置。所以用刪除子模組的方法是行不通的。正確方法很簡...
Git常用操作
使用者名稱 郵箱設定git config global user.namegit config global user.email免密碼設定 http最大快取設定git config global http.postbuffer 524288000大小寫敏感設定git config global c...