不積跬步無以至千里
一、提交代碼遇到問題:
回退問題:
1、當(dāng)你git add 提交代碼后想回退掉文件(commit之前)可以用:
git reset HEAD 文件路徑
2、當(dāng)你git add 提交代碼,并且已經(jīng)commit了,怎么回退?
git rm +文件路徑
git commit 即可(這個會把文件刪除掉,所以需要刪之前把自己的這個文件保存下來)
把上面保存下來的文件,修改好之后,再去正常的流程 add commit push。
提交命令問題:
3、git push 命令
①.當(dāng)默認(rèn)使用這個命令時,是提交到當(dāng)前分支的git上,當(dāng)你有多個分支時,需要這個命令
可以精確的提交到遠(yuǎn)程分支上命令git push caf K2:K2
如截圖所示:
②.強制更新本地的版本到遠(yuǎn)程分支上
git push --force origin 遠(yuǎn)程分支名
4、當(dāng)想提交代碼時,git pull代碼發(fā)現(xiàn)有沖突需要merge,可以如下操作:
①、復(fù)制自己的修改文件或者修改的代碼做備份(因為接下來要做回退操作)
②、回退當(dāng)前代碼到某個提交版本:
git reset HEAD^^^^^^^ --hard
git reset --hard commitId 回退到某個commitId的版本上
③、刪除多余的文件
rm -r 文件路徑
④、發(fā)現(xiàn)當(dāng)前git分支是否干凈:
git status
⑤、如果干凈,則拉下最新代碼:
git pull
git pull --rebase 下拉代碼并rebase(一般前邊使用git stash 暫存已修改的代碼)
⑥、把最新自己的修改代碼手動合入最新代碼中
⑦、按著正常流程提交即可。
5、git branch
①、git branch? ? ? ? 查看本地的分支,并會在當(dāng)前分支加*
②、git branch -a? ? 查看所有分支
③、git branch -vv? 查看當(dāng)前分支對應(yīng)的遠(yuǎn)程分支狀態(tài)
④、git branch -r? ? 查看遠(yuǎn)程分支庫列表
⑤、git branch 分支名 創(chuàng)建某分支
⑥、git branch -D? 分支名? 刪除某分支(刪除之前,記得備份或者提交未提交的修改的代碼)
⑦、git branch -m oldName newName 修改某分支的分支名為后者
6、git checkout
①、git checkout? 文件路徑 放棄制定文件或者目錄的修改
②、git checkout – . 放棄當(dāng)前分支的所有修改
③、git checkout 分支名 切換到此分支
④、git checkout -b 分支名? 創(chuàng)建并切換到次分支,如果有此分支,則不創(chuàng)建,直接切換
⑤、git checkout -b 分支名 origin/遠(yuǎn)程分支名 創(chuàng)建并切換分支并與遠(yuǎn)程分支關(guān)聯(lián)
7、repo forall -c‘執(zhí)行的命令’
這個命令是會在所有的git分支下都會執(zhí)行‘ ’中的命令,你可以分別去執(zhí)行g(shù)it pull 拉代碼;git branch -D 分支名 在每個分支下刪除本地分支;
8、git stash
作用:暫存起來,作用是當(dāng)有多個分支,如果有修改,直接切換分支是不允許的。利用此命令可以暫存起來。
①、git stash 暫存修改
②、git stash list 當(dāng)有了多個暫存,就有了多個暫存的列表了,用來查看有幾個暫存,下邊對應(yīng)著不同暫存的對應(yīng)的編號。
③、git stash pop 使用暫存來恢復(fù)之前的代碼,當(dāng)然如果有一個直接恢復(fù)了,當(dāng)如果有多個緩存,此時默認(rèn)的使用了編號為0的緩存。
git stash pop stash@{編號} 當(dāng)有多個暫存時,通過git stash list 查看多個暫存編號,通過此命令恢復(fù)某個暫存的代碼
git stash apply stash@{編號} 和上邊的pop用法一樣,一樣的操作意義。
④、git stash clear 清空暫存隊列。
⑤、git stash drop stash@{} 刪除第幾個stash
⑥、git stash show -p stash@{
} 顯示第幾個stash的修改
9、git reflog(恢復(fù)神器,后悔藥)
作用:包含被刪除的commit記錄,即使你reset,或者rebase,找到對應(yīng)的序列號就可以恢復(fù).
使用git reset --hard 序列id