一.環境安裝
- window
到以下網址下載安裝
http://code.google.com/p/msysgit/downloads/list?q=net+installer
http://git-scm.com/downloads - ubuntu
sudo apt-get install git
- repostory
有版本控制功能的目錄 - local remote
local是自己的repos,主軸為master,若有分支,就會有相關branch名稱
remote是遠端的repos,通常在多人同時維護一份程式碼的狀況
每個人都會有一個local的repos,大家都會對應到同一個remote做
大家的版本共同管理,預設的remote名稱是origin - stage ,unstage
把檔案加入到stage,就是讓這些檔案會在版本控制的範圍內 - push,pull
pull是由remote將檔案拉下來到local上
push是將local檔案放到remote上 - commit,checkout
做commit的動作就是產生一個新的檔案版本
checkout就是切換到指定的版本或是分支
三.本機檔案版本控制
- 目錄初始化
會產生一個.git目錄,讓該目錄成為一個repostory
在目錄下執行git init
- 查看目前repostory的狀態
檔案是否有更動,是否有檔案被加到stage,是否尚未commit
等相關狀態都可以使用這指令看到git status
- 查看已儲存的版本(comit)清單
git log
- 加檔案到stage
加入指定檔案
全部有異動的都加入git add filename
git add .
- 刪除檔案
刪除目錄git rm filename
git rm -rf dirname
- 將已經加入stage的檔案移到unstage
git reset HEAD filename
- 產生版本
git commit -m "xxx"
- 回復到指定版本
數字代表回復到前幾個版本git reset -hard HEAD~1
- 將遠端的repos複製到local
執行指令後,會將remote的目錄,複製到目前這個目錄下git clone 遠端目錄
- 設定要同步的遠端remote
local respos 加入remote後,就可以把資料放到remote上,
或是由remote 下載回來git remote add aliasName remote路徑
- 查看目前所有的remote
local respo上可以同時設定多個remotegit remote -v
- 由remote上取回最新檔案
git pull origin master
- 將local檔案上傳到remote
git push origin maste
當你已經修改了檔案要放到remote上,也許remote上的檔案,在這過程中已經被別人更新做
以下流程處理
- 先把自己的修改內容放到暫存區
git stash
- 由remote取回最新檔案
git pull origin master
- 合併
把自己放在暫存區已改過的檔案與最新拉回來的檔案merge在一起,git stash apply
若有衝突的地方,系統會自動在差異處加入註解,
修改好再儲存 - 重新把檔案加入到stage
git add .
- 產生版本
git commit -m xxxx
- 傳回remote上
git push origin master
六.使用Github當作remote
- 選擇連線方式
在你要clone的repos上可以看到有提供ssh或是http連線方式
提供不同的連結網址,使用http連線,每次會要求輸入連線帳號密碼
(就是github帳號密碼)
若使用ssh則可直接連線,但須先設定ssh key - 設定ssh key
參考https://help.github.com/articles/generating-ssh-keys
產生ssh key並貼到github個人資料頁內,即可使用ssh直接連線
在指定的dropbox目錄上執行
git init --bare
該目錄即可成為一個git remote
沒有留言:
張貼留言