一開始有aaa與bbb目錄
git-test/
|-- aaa
`-- bbb
A用aaa當作程式放置的目錄, 先對他做初始化
cd git-test/aaagit init
複製以前寫的某一隻程式至此目錄
git-test/
|-- aaa
| |-- main
| `-- main.c
`-- bbb
加入此目錄所有檔案給git管理
git add .第一次commit
git commit(之後可以輸入這次commit的註解)
發現有一個檔案是編譯出來的二進位檔, 不需要追蹤這個檔案
git rm maingit-test/
|-- aaa
| `-- main.c
`-- bbb
要習慣做完一個階段之後就commit
git commit -a假設臨時需要用到之前被砍掉的main, 可以切換回去過去的狀態
先用git log看要回去的那次commit的編號commit 93056170a2f98563ba13f1b4679a73655a64c2fb
Author: chihying
Date: Tue Feb 23 20:29:55 2010 +0800
remove output files
commit 3ecb40595863e67b5b6f5ea06b8e75dfcad85848
Author: chihying
Date: Tue Feb 23 20:28:26 2010 +0800
first add all files
切換回去一開始那次的commit, 整個資料夾就回復了
git checkout 3ecb40595863e67b5b6f5ea06b8e75dfcad85848git-test/
|-- aaa
| |-- main
| `-- main.c
`-- bbb
新增了一個Makefile
git-test/
|-- aaa
| |-- Makefile
| `-- main.c
`-- bbb
加入管理git add Makefile
git commit
若目前有另外一個人B也要一起開發這個程式, 他的工作目錄在bbb
cd git-test/bbbgit clone [aaa的路徑]
這樣在B就也有一份程式了
bbb
`-- aaa
|-- Makefile
`-- main.c
假設目前A有對程式做修改,B想取得最新的更動
git pullB要做一些修改, 先開一個branch
git branch B_modify可用git branch查看
B_modify
* master
git checkout B_modify
* B_modify
master
A B都修改/commit了一些東西之後,B要把他在B_modify的修改merge回去
先跳回mastergit branch master
從aaa抓最新的修改
git pull ../../aaa
把B_modify的修改合併到master上面
git merge B_master
把更新上傳至aaa
git push
沒有留言:
張貼留言