Git 常用指令
來源:六角
工作目錄:是處理你現在處理檔案下的目錄,而 GIT 的相關操作都會在你路徑的目錄下完成。
索引:處於工作目錄、本地數據庫的中間 ( 如上圖 ),是提交到數據庫前的暫存區。
數據庫:是紀錄檔案、目錄狀態的地方,也會儲存內容的修改、歷史紀錄。
而數據庫又有分為 本地數據庫 、遠端數據庫。
- 本地數據庫:自己方便使用,在個人電腦上配置的數據庫。
- 遠端數據庫:配置專門的伺服器,為了能讓多人共享而建立的數據庫。
設定識別資料
輸入自己的資訊,目的是確認是誰上傳該版本的資料庫,這樣也比較方便做維護。指令如下
1 | git config --global user.email "使用者email" |
輸入完可以用 git config --list
確認,會出現結果如下。
有出現user.name 、email 代表有輸入進去了! (紅色圈起來的)
基礎指令
移動路徑: cd (路徑)
例:
前往C槽的指令 cd c:
回上一層的指令 cd ..
如果說C槽有一個 test 資料夾,裡面有一個 next 資料夾,想要前往的指令: cd test/next
甚至說也能夠直接把資料夾拉近 git bush 裡面,他也會自動幫你產生路徑!
展開列表:ls
- 這個功能可以拿來檢查資料夾內的檔案,看看 ‘資料夾’、’檔案’ 是否新增成功。
新增檔案:touch
- 如果說你想要在當前資料夾新增一個 index.html ,指令: touch index.html。
新增資料夾:mkdir
- 如果說你想要在當前資料夾新增一個 css 資料夾 ,指令: mkdir css
git init:是用來追蹤當前路徑的目錄,同時也建立一個本地數據庫。
git add .:把所有檔案加入索引。
如果想要只新增在當前目錄下的檔案,指令如下
例如 index.html,可以輸入 git add index.html
或者是 當前目錄下子資料夾裡的檔案 git add css/all.css 類似這樣。
git status:加入索引後用來檢查狀態的指令。
git commit -m ‘備註’:把索引裡面的東西提交到本地數據庫的指令。
git log:是查詢提交到本地數據庫的紀錄,用來檢查 commit 有沒有正確把指令傳送。
gitignore:在目錄下新增一個 .gitignore 的檔案,裡面輸入指令可以忽略檔案。
- 例如:index.html 可以忽略 index.html檔案,*.html 可以忽略所有 html 檔案,
css/ 可以忽略 css 資料夾裡所有檔案。
git reset –hard HEAD^:這個指令可以刪除最近一次的 commit。
git reset –hard ORIG_HEAD:如果 git reset –hard HEAD^ 刪除錯了,那這個語法可以還原它。
- 在這邊也可以用 git reset [commit 的 sha-1] 來還原 !
git reset HEAD:把所有正在索引內的檔案取消索引。
git reset HEAD 檔案名稱:如果你指定的檔案在索引當中,指定的檔案取消索引。
- 例如:git reset HEAD index.html 假設 index.html 現在索引內,那他會取消索引。
git reset –hard:可以把路徑目錄還原成最新一次 commit 的狀態,切記要先把所有檔案加入索引
git add .,否則檔案依然會留存。
git clone 網址:把你的遠端數據庫連接到你的本地數據庫。
git push:把你的本地數據庫裡的資料 傳送/更新 到你連接的遠端數據庫。
git pull:從遠端數據庫拉其他工程師更新的資料。
branch 分支
HEAD 是一個指標,指向某一個分支,也可以把 HEAD 當作目前所在分支看待。
git branch:查詢目前有哪些分支。
git branch -a:當你在新的工作環境要 pull 專案開發時,可以使用這個查分支,
因為pull下來用 git branch 查不到。
git branch 分支名稱:建構分支的指令。
git checkout 前四碼: 回到你想要觀看commit的版本,輸入版本編號前四碼,就可以回到那個版本觀看當時的CODE。
git checkout 分支名稱:可以回到你要看的分支。
git checkout 標籤名稱:可以回到你要看的標籤。
git checkout master:回到 master 分支。
git merge 分支名稱:可以把目前所在分支跟你輸入的分支合併。
tag 標籤
git tag:查詢目前有哪些標籤。
git tag 標籤名抽:這個指令可以新增一個標籤。例:git tag v1 ,等於新增一個 v1標籤。
git tag -am “備註” 標籤名稱:這個指令可以為標籤增加備註,可以用 git tag -n 來查,如果沒有標籤備註會顯示 commit 的備註。
git tag -n:可以查標籤的備註,或者是如果標籤沒有備註也會顯示 commit 的備註。
git tag -d:刪除指定的標籤。例如 :git tag -d v1 就會刪除 v1 標籤。
git checkout 標籤名稱:可以回到你要看的標籤。
stash 暫存
git stash:暫存當前的目錄。
git stash list:瀏覽所有 stash 的列表。
git stash pop:還原暫存。
git stash apply:還原最新的暫存。
git stash apply stash@{n}:指定還原的暫存版本。
git stash drop:刪除最新的暫存。例:有 {0}{1}{2} 的 stash,那輸入指令會把 {2} 刪掉。
git stash clear:刪除所有暫存。
remote 遠端數據庫
git remote:查詢遠端數據庫。
git remote rename 原名稱 新名稱:遠端數據庫預設名稱會是origin,這個指令可以修改遠端數據庫名稱。 例:git remote origin newName 就會把原本 origin 的遠端數據庫改名為 newName
git push:把你的本地數據庫裡的資料 傳送/更新 到你連接的遠端數據庫。
git push 遠端數據庫名稱 分支名稱:push 分支到遠端數據庫上。例:git push origin develop 就是把 develop push 到 origin 的遠端數據庫上。
git fetch:會移到一個名為 FETCH_HEAD 的分支,可以拿來合併。 pull 就是 fetch + merge 的組合技。