Dabao's Tech Blog
Archives
Label
About
GitHub
Facebook

[ Git ] 常用指令介紹

logo25

Git 指令多而雜,記錄一些好用卻時常忘記的指令

工具建議


安裝 Git


如何開始使用 Respository


如何推送你的第一個版本


Git 的推送流程可以分為三個步驟,三行指令,請先到該目錄底下

  1. 將想要修改的檔案加入此次推送的流程中

    git add PATH/FileName

    • 或是將 所有 修改過的檔案加進暫存內,用 句點 表示所有檔案 git add .
  2. 為這批檔案寫上一個可以辨識的註解,這是可以在版本控制中看到的

    git commit -m "It's my first commit"

    • 省略前面的 git add .,所有修改過的檔案直接執行 commit
    • git commit -am "It's mean all files." *注意:只要完成 commit 即完成本機上的版本控制,若是需要更新到 遠端Branch 才進行下一步
  3. 推送上來自 origin 這個遠端的分支 master

    git push origin master

修改 Commit


本地/遠端分支操作 Branch


合併分支 Merge


暫存修改 Stash


可能會有疑問說,untracked files 是指什麼?

可以試試再有修改檔案的情況下,下 git status 便知曉

還原分支 Reset


假設,有一種情況是過了兩三個版本之後才發現很多 code 都是錯的

(這情況很瞎,只是個假設)

想要將 遠端分支 也一併還原到某個版本,並且確定該版本後面的改動也都不需要了,這時候只需要紀下 commit 的序號,先用上述的指令先將本地端的版本還原到你想要的時間點,然後,執行 git push remote branch --force,強制遠端分支更新至你的版本,這時候會發現遠端的 gitlens 後面比他新的版本都不見了,這也是一種整線技巧,但是這技巧非常危險

請搞懂了再使用,不要危害他人啊!

遠端服務 Remote


上述的資料中提到的 origin 是最常見的 Remote 名稱

在執行 git clone git://xxxxxx.git 的過程中也是預設在本地建立一個 origin

詳見 repo/.git/config

git remote add Remote git://xxxxxxxx.git : 把 Remote 及後面代的網址加入遠端列表,就可以在這 repo 下對新的遠端操作 git remote set-url Remote git@xxxxxxx.git : 修改 Remote 遠端來源

將遠端分支從 https 改用 ssh git


  1. 在 repo 下修改 Remote 位址

    git remote set-url Remote git://xxxxxxx.git

  2. 創造 ssh 金鑰,用 rsa 加密,名字是 Dabao-mac

    ssh-keygen -t rsa -C “Dabao-mac”

  3. 然後把金鑰.pub新增到使用的線上版控服務上並測試,這邊範例為 github

    ssh git@github.com

  4. 如果成功會看到以下訊息,如果看到以下訊息就可以回頭測試 push 了

    Hi DabaoHuang! You’ve successfully authenticated, but GitHub does not provide shell access.

  5. 失敗的話要先測試是不是金鑰沒放對位置,測試成功會看到上面的訊息

    ssh -i ~/.ssh/Dabao-mac.pub git@github.com

  6. 也有可能 ~/.ssh 不存在,要自己建,然後從第二步驟開始在做一遍

    mkdir ~/.ssh => chmod 700 ~/.ssh

  7. 也有可能資料夾裡面沒有設定讓使用者 git 使用相對的key

    touch ~/.ssh/config => vim ~/.ssh/config

Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/Dabao-mac

參考