背景:需要將本地項目 project 提交到 Coding 進行多人協作開發
上傳
把Project變成git可以管理的倉庫
git init
查看倉庫狀態
git status
將本地文件放入倉庫中 和添加Commit
git add *
git commit -m 'coding 1.0.0'
把本地倉庫與Coding上的倉庫關聯
git remote add origin https://git.coding.net/yourCoding/yourProject.git
git remove -v
把本地倉庫所有內容推送到Coding上
git push -u origin master
//第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令
這樣就可以了?
提交修改
將代碼Clone 到本地
git clone https://coding.net/你的路徑
//clone 某一分支
git clone -b dev https://git.coding.net/...
代碼修改,查看不同
git status
// 告訴你有文件被修改過
git diff JustErp/BaseWebVC.swift
// 代碼修改,查看不同
提交修改的文件
git add . //把文件修改添加到暫存區
git commit -m "gittest" //把暫存區的所有內容提交到當前分支
git push
//強制提交
git push -u origin dev -f
查看歷史提交記錄
git log
版本回退
上一個版本就是HEAD^ ,上上個HEAD^^, 當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100
//本地回退
git reset --hard HEAD^^
//本地回退后、遠程回退
git push origin dev --force
回退后,重新恢復到某一個版本
git reset --hard 3628164
//版本號沒必要寫全,前幾位就可以了,Git會自動去找。當然也不能只寫前一兩位,因為Git可能會找到多個版本號,就無法確定是哪一個了
回退版本的時候找到 commit id
git reflog
在工作區或者暫存區的時候,撤銷修改
git checkout -- file
//git checkout其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以“一鍵還原”。
分支管理
團隊分支管理圖
分支.png
git branch //查看分支
git branch dev //創建分支
git checkout dev //切換到分支
e.g.:
localhost:jst_dev clear$ git checkout -b crmPage
Switched to a new branch 'crmPage'
localhost:jst_dev clear$ git branch
* crmPage
dev
我們把dev分支的工作成果合并到master分支上:
git merge dev
刪除分支
git branch -d dev
錯誤
git push 錯誤
git push
remote: 404 page not found
fatal: repository 'https://git.coding.net/u/...' not found
//解決方式
git remote rm origin
git remote add origin https://git.coding.net/.....git
分支沖突
//保存現在正編輯的狀態
git stash
//保存的列表
git stash list
//恢復原來保存的狀態
git stash pop