git常用操作

2023-01-24 20:41:00 字數 3094 閱讀 9298

安裝後初始化配置:

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