GIT手札
Take nothing for granted. Know that the harder you work, the luckier you'll get. — Ivanka Trump
沒有事情是理所當然,要知道越努力越幸運。 — 伊凡卡·川普
git基礎命令
-
初始化一個git工程
git init
: 在本地已存在的工程目錄下開啟git base,輸入git init
會在該目錄下建立.git隱藏目錄(該目錄儲存一些基本配置)。git clone 遠端倉庫地址
:上面是直接在本地建立一個新的工程,而該命令是將遠端倉庫克隆到本地,直接將遠端倉庫克隆到本地。 -
新增需要關注的檔案
這一組命令是新增檔案到暫緩區,暫緩區的檔案可以被commit,最後被push到遠端倉庫。
git add --all
:新增所有變化。git add -u
:新增被修改(modified)和被刪除(deleted)檔案,不包括新檔案(new)。git add .
:新增新檔案(new)和被修改(modified)檔案,不包括被刪除(deleted)檔案。git add fileName
:新增指定檔案到暫緩區。 -
提交變化
暫緩區的檔案就是你關注的檔案,處於這個狀態的檔案是能被commit(提交某次修改)的。
git commit -m 'message'
:該命令就將你需要修改的檔案提交,message是你為這次提交所做的描述資訊。 -
新增遠端倉庫
如果一個倉庫是通過
git init
方式建立,是沒有繫結一個遠端的倉庫,而git clone
方式的倉庫為克隆的地址,當然你可以為你的git工程新增多個遠端倉庫。git remote add 倉庫名 對應的倉庫地址
:新增遠端倉庫。 -
push
git push <遠端倉庫> <本地分支> <遠端分支>
:將本地分支推送到遠端倉庫的遠端分支,如果遠端倉庫不存在對應的分支則建立,當只有一個遠端倉庫時使用git push
能直接將當前本地分支推到對應的遠端分支。 -
pull
git pull <遠端倉庫> <遠端分支> : <本地分支>
:將遠端倉庫的遠端分支拉取下來與本地分支進行合併,例如git pull origin next:master
表示將遠端倉庫origin的next分支與本地的master分支合併,冒號及後面的本地分支可以省略即git pull origin next
。 -
其他命令
git branch
:檢視本地所有分支git branch --all
:檢視所有分支包括遠端倉庫的。git branch dev2
:新建分支dev2git branch -d dev2
:刪除分支dev2git checkout dev2
:切換到制定分支 dev2git merge 分支A
:將分支A合併到當前分支git status list
:將改動快取到臨時區域,並還原到上次commit後的狀態,此時你可以直接切換分支git status pop
:將快取區域的改動重新應用到該分支並且移除臨時快取
修改提交git賬號
場景描述
當你在首次用git提交某次修改時會讓你輸入對應的name和email,這個資訊會作為當前電腦的全域性配置,那麼在後續的提交都是用的這個賬號。如果需要修改提交的賬號呢?
通過命令 git config --list
檢視當前的git相關配置,找到user.name 和user.email,修改即可。
解決方法
- 修改全域性 (修改全域性預設值)name和email,通過以下命令:
git config--global user.name yourName; git config--global user.email yourEmail;
- 只修改當前project的name和email,在當前project目錄下通過命令:
git config user.name yourName; git config user.email yourEmail;
-
上面兩種方法如果不生效,可以修改位於在project下.git目錄下的config新增如下節點
增加配置
刪除遠端倉庫上被忽略的檔案
場景描述
由於種種原因,一些本應該被忽略的檔案被我們誤操作提交到了遠端倉庫了,那麼我們該怎麼刪除這些檔案呢?
解決方法
以誤提交了.idea目錄為例,我們可以通過下面的步驟處理:
git rm -r --cached .idea
git add --all git commit -m '提交資訊' git push