Git為分散式版本控制系統。
2. Basic setting
3. Create a repository
常用的指令
$ git status
$ git diff
$ git log //看下過的commit
$ git tag "tag name" //幫一長串的commit改ID
$ git checkout "commit" //變回"commit(一串id)" or Head
$ git rm "..." //刪除"..."
$ git mv "..." //移動檔案
$ git reset "..." //reset Head to "..."
$ git revert "..."
git stash //把目前工作區的東西丟到暫存區裡,等之後在回來拿他
git stash list //列出所有暫存區的資料
git stash pop //取出最新的一筆, 並移除.
git stash apply //取出最新的一筆 stash 暫存資料. 但是 stash 資料不移除
git stash clear //把 stash 都清掉
Branch
何時開 Branch ?
1. Topic feature 開發新功能
2. Bug fixes
3. 任何實驗
origin(remote) 是 Repository 的版本,master(branch) 是 local 端, 正在修改的版本.
MERGE & REBASE
merge概念:會把兩個分支最新的快照(C3 和 C4)以及二者最新的共同祖先(C2)進行三方合併,合併的結果是產生一個新的提交物件(C5)
REMOTE REPOSITORY
git另一個很重要的功能就是與遠端協同工作,
如果你在本地 master 分支做了些改動,與此同時,其他人向 git.ourcompany.com 推送了他們的更新,那麼伺服器上的 master 分支就會向前推進,而於此同時,你在本地的提交歷史正朝向不同方向發展。不過只要你不和伺服器通訊,你的 origin/master 指標仍然保持原位不會移動.git fetch origin來同步遠端伺服器上的資料到本地。
上傳到GitHub
- 到 github.com 點選“new repository”
- 名字取好 按 "Create repository"
- 到新增的 repo 頁面 copy ssh 格子裡面的內容
- 回到 Terminal ,到要上傳 repo 的資料夾,輸入`$ git remote add origin git@github.com:XXXXXXXXX (copy的內容)
- 上傳 $ git push -u origin master 以後直接打 $ git push 即可( -u 是設為預設的意思)
- 上傳別的分支的方法 $ git push origin (分支的名字) EX: $ git push origin development 上傳 development這個分支
Clone(複製) repository 的方法
到 github專案頁面 copy 右下角的 SSH clone url
把專案回溯到在 github 裡面的版本
協作GitHub上別人的專案
這是一個初始化流程,只需要做一遍就行,之後請一直在 develop 分支進行修改。
如果修改過程中我的庫有了更新,請重復 6、7、8 步。
修改之後,首先 push 到你的庫,然後登錄 GitHub,在你的 repo 的首頁可以看到一個 pull request 按鈕,點擊它,填寫一些說明資訊,然後提交即可。
沒有留言:
張貼留言