碼雲上傳(單人與多人開發的不同)
先來一個不規範的上傳碼雲,一般用於單人開發。
git pull 從服務端抓取
git add * 新增全部
git commit -m “xxx” 提交 xxx為提示資訊
git push -u origin master (或git push)
詳細:
1. git pull
2. git status –s 檢視下抓取了那些與服務的不同的
這裡前面紅色修飾符 M,D,??為你變動的檔案,M為被修改的,D為你刪除的,??為新建的。
3.git add *或有選擇的上傳。
這裡我
git add index.android.js,
git add src/layout/order/OrderDetail_NOpayment.js
git add src/layout/order/OrderList.js
git add src/layout/order/component/OrderDetail_Item.js
git status –s於是可以看見其字首變為綠色的,表明可以提交
4. git commit -m “xxx”(與git add * 連用)提交所用
或git commit src/layout/order/component/OrderDetail_Item.js 提交一個
如果你是用這個命令,那麼恭喜你,選擇了麻煩的了,你要進入其文件裡,然後到最後一行寫提示語然後 :wq 儲存退出。
5. git push
接下來看下規範的多人開發時,如何上傳
1. git pull
一般會報
看 error 說你本地改變的會被覆蓋。用這個例子說:我本地的檔案index.android.js、src/util/Global.js、src/util/NetUtil.js這三個檔案與服務端的衝突了。為啥會衝突?
因為這是多人開發,所以不僅僅是你在更新,那如果你上傳以前,別人把三個檔案改動了,此時你要怎麼辦?所以我們接下來,就是解決這事。
2.git stash 這是讓你把衝突的(本地改動的)暫存。()
3. git pull
4. git stash pop 這是把你在2中暫存的與git pull相融。
5. 此時你要到index.android.js、src/util/Global.js、src/util/NetUtil.js這三個檔案里根據它給你做的提示選擇,衝突部分,要用你自己還是服務端的。
6. git add *
7. git commit –m “” (注意 -m是全部上傳)
8. git push
但是還有一種情況,就是你想更新與衝突檔案無關的或只想提交沒有衝突的檔案,衝突檔案不提交。於是我們要去除衝突檔案。
1. git pull(發現上述情況)
2. git stash
3. git pull
4. git stash pop
5. git add –u
6. git commit ‘test ’
7. git pull
到達這你已經更新完了,下面提交沒有衝突的檔案與前面提交一樣的步驟。。。
但是我們經常提交後,我們發現git add 加檔名,這樣是不是很麻煩,於是乎,我們可以這麼做:(假如你不想提交tempData.js檔案)
1. git add *(tempData.js也被我們加入了)
2. git status 檢視檔案狀態
3. git reset -- 檔案路徑/檔名
4. git status 檢視檔案狀態
5. git commit –m ‘ ’
6. git push
好了上面上傳問題解決了,那麼更新遠端伺服器了,其實也是一種上傳。。。。
案例:伺服器端有一個檔名為projectChoose.js 但是我們要將檔名改為ProjectChoose.js,首字母大寫。
1. 將本地檔名修改為想改的
2. git pull
3. git status 發現沒有檢查到檔名改變了,
4. 於是我們的解決方法:先刪除遠端檔案,然後再提交本地檔案
5. git rm –r –-cached 檔案路徑/檔名 刪除暫存和遠端分支上的檔案
6. git commit –m ‘’
7. git push
8. git pull
9. git status
10. 執行上傳步驟