Git在日常開發(fā)中經(jīng)常使用,但有時(shí)候還是會忘記or遇到些奇奇怪怪的問題。以此記錄,提醒自己~不定期更新~
1、新環(huán)境首次克隆
首次克隆倉庫及其模塊
git clone --recursive [倉庫URL]
倉庫首次拉取模塊
git submodule update --init --recursive
更新子模塊
git submodule update --recursive --remote
2、是否要保留本地修改
保存修改
git stash #封存修改
git pull origin master
git stash pop #把修改還原
放棄修改==回退
git reset --hard
git pull origin master
3、提交代碼
添加當(dāng)前目錄下的所有文件到暫存區(qū)
git add .
提交暫存區(qū)到本地倉庫中
git commit -m "本次提交代碼概要簡述"
查看項(xiàng)目當(dāng)前狀態(tài)
git status
將dev分支上的內(nèi)容拉取到本地
git pull origin dev
推送代碼
git push
4、stash備份
備份當(dāng)前工作區(qū)內(nèi)容,從最近的一次提交中讀取相關(guān)內(nèi)容,讓工作區(qū)保證和上次提交的內(nèi)容一致。同時(shí),將當(dāng)前工作區(qū)內(nèi)容保存到Git棧中
git stash
拉取服務(wù)器上當(dāng)前分支代碼
git pull
從Git棧中讀取最近一次保存的內(nèi)容,恢復(fù)工作區(qū)相關(guān)內(nèi)容。同時(shí),用戶可能進(jìn)行多次stash操作,需要保證后stash的最先被取到,所以用棧(先進(jìn)后出)來管理;pop取棧頂?shù)膬?nèi)容并恢復(fù)
git stash pop
顯示Git棧內(nèi)的所有備份,可以利用這個(gè)列表來決定從那個(gè)地方恢復(fù)。
git stash list
清空Git棧
git stash clear
5、查看及切換用戶
查看用戶名,github賬戶名
git config user.name
查看郵箱
git config user.email
切換用戶
git config --global user.name “xxx”
切換郵箱
git config --global user.email “xxx”
6、創(chuàng)建鏡像&切換新倉庫
克隆為鏡像
git clone --mirror [倉庫URL]
進(jìn)入鏡像文件夾
cd [repo folder]
刪除關(guān)聯(lián)的origin的遠(yuǎn)程庫
git remote rm origin
創(chuàng)建新倉庫后,更新為新遠(yuǎn)程倉庫地址
git remote add origin [新的URL]
推送鏡像
git push origin --all或git push origin --mirror
推送tags
git push --tags
確認(rèn)gitlab上項(xiàng)目的分支及tags與原先一致
確保本地備份好了之后,可以清理下本地多余remote分支
git fetch -p
7、修改默認(rèn)分支
(1)在GitLab上新建項(xiàng)目后,進(jìn)入項(xiàng)目,點(diǎn)擊左側(cè)Repository->Branches
可以看到里面只有一個(gè)受保護(hù)的默認(rèn)分支main,此處無法刪除。
然后新建分支master:點(diǎn)擊右上角New branch,輸入分支名字master,Create branch。
(2)再點(diǎn)擊左側(cè)Settings->Repository
點(diǎn)開Default branch,選擇Default branch為master,Save Changes。
至此默認(rèn)分支就是master了。
(3)此時(shí)還可以返回(1)的設(shè)置,將分支main刪掉。
Ps.問題解決
Merge made by the ‘ort’ strategy.
查看commit記錄, 找到遠(yuǎn)端本地沖突之前的commit
可以按“Q”退出git log狀態(tài)
git log
回退至某一版本,根據(jù)comminID決定。只回退了commit的信息
git reset --soft [commitID]
git pull
fatal: Cannot do soft reset with paths.
HEAD & index & working copy同時(shí)重置到你要reset到的那個(gè)commit上。執(zhí)行了,你的本地修改可能就丟失了。
git reset --hard
恢復(fù)git reset —hard的誤操作
找到要退回的commitId
git reflog
然后再次執(zhí)行文章來源:http://www.zghlxwxcb.cn/news/detail-744771.html
git reset —hard commitId
參考:
https://www.mimastech.com/2017/11/19/how-to-movemigrate-a-full-git-repository-from-github-to-gitlab-self-hosted-instance/
https://qa.1r1g.com/sf/ask/480571171/
https://blog.csdn.net/csdnlijingran/article/details/96425712文章來源地址http://www.zghlxwxcb.cn/news/detail-744771.html
到了這里,關(guān)于Git-Git常用命令、常見操作,創(chuàng)建鏡像&切換新倉庫、首次克隆、stash備份、查看及切換用戶、修改默認(rèn)分支、是否要保留本地修改等的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!