一.本地端
1.建立資料庫
git init
2.加入檔案參照
git add .
若中途刪除檔案,要將先前被追蹤的被刪除之檔案提交出去
git add -u
若中途刪除檔案,要將先前被追蹤的被刪除之檔案提交出去
git add -u
3.將所有修改過得檔案都提交
git commit -a -m ''
4.建立分支
git branch 分支名稱
命名分支
git branch -m 舊名稱 新名稱
刪除分支
git branch -d/-D 分支名稱
產生新的 branch, 並同時切換過去 new-branch
git checkout -b new-branch test
5.取消對檔案的修改
git checkout -- Makefile
6.退至staging Area,重新提交 Commit
git
reset --soft HEAD^
6-1.修改某一次commit
*git rebase -i [SHA碼]
*reword 1c42c3d Test02 新增test 03拷貝檔案(Fix3)
*:wq 保存且退出
修改commit message再按:wq
6-1.修改某一次commit
*git rebase -i [SHA碼]
*reword 1c42c3d Test02 新增test 03拷貝檔案(Fix3)
*:wq 保存且退出
修改commit message再按:wq
7.強制恢復到上一版本
git reset --hard HEAD
最後三個版本 (HEAD, HEAD^, and HEAD~2)
8.將不想被參照的檔案去除
git
rm WebKeyScan.xcodeproj/project.xcworkspace/xcuserdata/Apple.xcuserdatad/UserInterfaceState.xcuserstate
git
rm -f
iphone/Barcodes/WebKeyScan.xcodeproj/xcuserdata/Apple.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
9.標籤tag
$ git
tag -a v1.4 -m 'my version 1.4'
搜尋tag
$ git
tag -l 'v1.4.2 .*'
10.merge(合併)
git merge [branch name]
git reset --hard ORIG_HEAD /* 取消合併 */
二.伺服端
1.必須先在遠端伺服器新增遠端資料庫
git init --bare
2. 進入你專案所在的Repo目錄
3.接著要把你專案資料庫的進度放進遠端資料庫中,供其他人取用,所以要在專案資料庫目錄執行Push的指令
git
push selab master
PS1: 因為要git clone的話,必須push master分支
PS2: 建立git的群組:
因為我放在/home底下,這邊要root權限,當你用你的帳號push東西上去時,會爆權限不足。但是把他改成權限全開的話(chmod 777 ...)又很危險。所以我開一個git的群組,讓會傳東西的人加到這個群組。
PS1: 因為要git clone的話,必須push master分支
PS2: 建立git的群組:
因為我放在/home底下,這邊要root權限,當你用你的帳號push東西上去時,會爆權限不足。但是把他改成權限全開的話(chmod 777 ...)又很危險。所以我開一個git的群組,讓會傳東西的人加到這個群組。
sudo groupadd git
sudo usermod -a -G git your_login # your_login改成你自己的帳號。
# 下面這兩行,在每次新增新project時要對新的資料夾補做
sudo chgrp -R git /home/gitRepository/Project/iOS/MySkyBox
sudo chmod g+rwx -R /home/gitRepository/Project/iOS/MySkyBox
4.如果push有成功,你在遠端Repo (dropbox目錄裡的OurProject目錄) 看不到你的程式檔案(剛剛有提過),要確定是不是真的有push進最新進度,我們需要再Pull回來看看,看現在遠端Repo裡是不是最新進度:
git pull selab master
5.複製整個專案
三.xcode git
使用sudo權限執行合併或是切換分支,檔案會被鎖住
沒有留言:
張貼留言