Git 下載:http://git-scm.com (寫這篇教學時,我下載的版本是 Git-1.8.5.2-preview20131230)
Git 安裝
在 windows 上安裝 Git 很簡單,基本上只要一直按下一步就可以。步驟如下。
- 開啟下載的安裝檔,出現安裝畫面,按「Next」到下一步驟。
- 按「Next」。
- 選擇要安裝到那個資料夾。按「Next」。
- 安裝選項設定。我是保留原本的設定。按「Next」。
- 選擇是否在開始選單建立資料夾。按「Next」。
- 設定執行 Git 指令的方式。我習慣盡量不動到原本系統的設定,所以選擇「Use Git Bash only」。按「Next」。
- windows 作業系統的換行是「CR+LF」,Unix-style 的作業系統換行只有「LF」。在 windows 上使用 Git,建議選擇「Checkout Windows-style, commit Unix-style line endings」,讓 Git 在 checkout 和 commit 都自動作換行的轉換,避免跨平台的問題。按「Next」。
- 開始安裝。
- 安裝完成。按「Finish」。
Git 設定、指令
- 產生 Repository(儲存庫)。
前面安裝好 Git 後,即可在要進行版本控制的資料夾產生 Repository(儲存庫)。
可以操作圖形介面或打指令產生 Repository。
要使用圖形介面產生 Repository,可在資料夾內按右鍵,
再選擇「Git Init Here」(如下圖),即可產生 .git 的 Repository 隱藏資料夾。
要使用指令產生 Repository,須先叫出指令的界面,在資料夾內按右鍵,再選擇「Git Bash」(如上圖)。
再輸入指令「git init」(如下圖), 即可產生 .git 的 Repository 隱藏資料夾。 - Git 的設定檔。
Git 的設定分三個層級,分別是 system、global、local。
system:該系統的設定。
global:該使用者的設定。(依系統登入帳號區分)
local:該 Repository 的設定。(依不同的 Repository 區分,例如前面產生的 Repository ,就有自己的設定。)
這三個層級,分別存放在不同的設定檔。
system => C:\Program Files (x86)\Git\etc\gitconfig
global =>C:\Users\使用者帳號\.gitconfig (須有設定過 global 層級的資料,才會產生這個檔)
local => 版本控制資料夾\.git\config
註:當 system、global、local都有同樣的設定值時,優先權為 local > global > system - 查看目前 Git 設定的指令
註:使用指令時,跟在 linux 一樣,按 tab 鍵,可自動補齊指令。
查看 system 層級的設定$ git config --list --system core.symlinks=false core.autocrlf=true color.diff=auto color.status=auto color.branch=auto color.interactive=true pack.packsizelimit=2g help.format=html http.sslcainfo=/bin/curl-ca-bundle.crt sendemail.smtpserver=/bin/msmtp.exe diff.astextplain.textconv=astextplain rebase.autosquash=true
查看 global 層級的設定 (尚未設定任何資料,所以找不到 .gitconfig 檔)$ git config --list --global fatal: unable to read config file 'c:/Users/user/.gitconfig': No such file or drectory
查看 local 層級的設定$ git config --list --local core.repositoryformatversion=0 core.filemode=false core.bare=false core.logallrefupdates=true core.symlinks=false core.ignorecase=true core.hidedotfiles=dotGitOnly
查看全部的設定,$ git config --list 略...(會列出system、global、local的所有設定)
設定某一個設定值$ git config --global user.name xyz (在 global 層級,設定 user.name 為 xyz)
檢視某個設定值$ git config user.name (檢視 user.name 的設定)
刪除某一個設定值$ git config --global --unset user.name (刪除 global 層級 user.name 的設定)
- 設定使用者資料。
Git 提交資料的時候,會使用到使用者名稱和 Email,所以要先設定這兩個資料。$ git config --global user.name "XYZ Li" (設定使用者名稱,若設定值有空格,可用引號包住)
$ git config --global user.email xyz@cinc.biz (設定使用者 email)
- 其他常用指令
查看Git版本 $ git --version 查看指令用法 $ git help 指令名稱 顯示所有的遠端儲存庫 $ git remote $ git remote -v clone 遠端專案到本地端 $ git clone ssh://git@伺服器IP/repository名稱 $ git clone ssh://git@伺服器IP/repository名稱 自訂本地資料夾名稱 新增遠端儲存庫 $ git remote add [設定名稱] [url] $ git remote add aa https://xyz@git.example.com:8443/git/test.git 移除遠端儲存庫 $ git remote rm 儲存庫名稱 修改遠端儲存庫名稱 $ git remote rename 舊名稱 新名稱 將本地端的專案 clone 到遠端 $ git remote add origin ssh://user@host/home/user/repo $ git push --all origin (先將遠端空的儲存庫新增進來,再 push -all 到遠端) 查看 log $ git log 取消剛剛的 commit,但保留修改過的檔案 $ git reset HEAD^ --soft 查看目前所有分支 $ git branch -a 建立分支 $ git branch 分支名稱 切換到分支 $ git checkout 分支名稱 先前已 fetch 過遠端分支(remotes/origin/testbr),現在本地端要建立一個對應分支(testbr)跟蹤這個遠端分支 $ git branch --track testbr remotes/origin/testbr 合併分支(例如目前在 master 上,要將 testbr 分支合併) $ git merge testbr 指定使用 fast-forward 方式合併(線圖結果一直線,master指標前移) $ git merge --ff testbr 指定使用 non-fast-forward 方式合併(線圖結果會有分支線) $ git merge --no-ff testbr
參考:
http://git-scm.com/book/zh-tw/
git clone from local to remote
Git 教學(2):Git Branch 的操作與基本工作流程
Git 分支 - 遠端分支
Git 分支 - 分支的新建與合併
Git 情境劇
沒有留言:
張貼留言