修改本地分支與遠(yuǎn)程分支關(guān)聯(lián)的關(guān)系
git branch --set-upstream-to=origin/master dev
(dev為本地分支,master為遠(yuǎn)程分支)
一、不小心把所有記錄推送到遠(yuǎn)程master分支, 撤回步驟如下
(若尚未提交, 不必執(zhí)行此區(qū)域命令, 可直接參考二)
S1: 查看分支
git branch
S2: 切換到master分支
git checkout master
S3: 查看提交記錄
git log
S4: 撤銷commit, 回滾到xxx記錄
git reset --hard xxx
S5: 撤銷后強(qiáng)制推送到遠(yuǎn)程上
git push --force || (git push -f origin master)
如果master分支被保護(hù)出現(xiàn)[remote rejected], 先解保才能推送成功:
在git上項(xiàng)目的settings>repo>Protected Branches中設(shè)置unprotect.
二、在dev分支開發(fā)完成后, 合并到master上的步驟如下
S1: 切換到master分支上
git checkout master
S2: 拉取mater上遠(yuǎn)程代碼
git pull
S3: 合并dev上代碼到master上
git merge --squash dev
( --squash 將所有提交合并為一條記錄 )
S4: 查看狀態(tài)
git status
如果遇到多個(gè)文件多處沖突問題
git checkout --ours ./components
( --ours批量處理 components下采用遠(yuǎn)程原有代碼)
git checkout --theirs ./components
( --theirs批量處理 components下采用本地新寫代碼)
S5: 最后提交代碼并推送
git add .
git commit -m "xxx"
git push
Ps: 解決報(bào)錯(cuò) >>
error: The following untracked working tree files would be overwritten by merge:
platform_ios/Rea/Feature-iOS.xls
platform_ios/Rea/注意事項(xiàng).txt
Please move or remove them before you merge.
s1: 找到platform_ios/Rea
目錄下 Feature-iOS.xsl、注意事項(xiàng).txt
兩個(gè)文件將其刪除;
s2: 重新拉取遠(yuǎn)程代碼到本地: git pull origin master
;
s3: 執(zhí)行git clean -d -fx
刪除沒有g(shù)it add的文件;
s4: 將正常的代碼進(jìn)行提交:
git add .
git commit -m "***"
git push
Add: git倉(cāng)庫(kù)地址變更 >>
git remote //查看遠(yuǎn)程庫(kù)的信息惨远;
git remote -v //查看遠(yuǎn)程庫(kù)詳細(xì)信息;
git remote rm origin //刪除舊地址;
git remote add origin [url] //添加新地址沙兰;