git add .
git commit -m ""
git pull --rebase
git push
git commit --amend 覆蓋上次的git commit 提交
git pull --rebase
git fetch
git stash list
git stash 提交到暫存區(qū)
git stash pop 拉取暫存區(qū)的代碼
git stash show 顯示最新stash中的修改內(nèi)容
git stash show -p stash@{1} 次新
git log
git show XX
git cherry-pick A..B
遇到?jīng)_突:
(1)--continue
解決代碼沖突后曹锨,第一步將修改的文件重新加入暫存區(qū)(git add .),第二步使用下面的命令,讓 Cherry pick 過程繼續(xù)執(zhí)行盅视。
git cherry-pick --continue
(2)--abort
發(fā)生代碼沖突后斩祭,放棄合并纽绍,回到操作前的樣子要尔。
(3)--quit
發(fā)生代碼沖突后铁瞒,退出 Cherry pick妙色,但是不回到操作前
git rebase --continue
git撤銷pull命令
pull merge合并出錯的時候怎么辦。
還沒commit:git merge --abort 慧耍,丟棄正在進行的合并
已經(jīng)commit:
git revert -m 1 HEAD 新建一個commit身辨,并且回到合并之前的狀態(tài)
git reset --hard commit_id 回退到指定的commit節(jié)點
git reflog 命令查看你的歷史變更記錄
git reset --hard HEAD@{n}, n是你要回退到的引用位置)回退
HEAD@{5}
merge 中想修改之前某個分支的commit 信息:
切換到需要修改單個commit 的分支芍碧, 在 merge 中不合適修改煌珊;
git reset 回滾策略
--hard:重置位置的同時,直接將 working Tree工作目錄泌豆、 index 暫存區(qū)及 repository 都重置成目標Reset節(jié)點的內(nèi)容,所以效果看起來等同于清空暫存區(qū)和工作區(qū)定庵。就是你的沒有commit的修改會被全部擦掉。
--soft:重置位置的同時踪危,保留working Tree工作目錄和index暫存區(qū)的內(nèi)容蔬浙,只讓repository中的內(nèi)容和 reset 目標節(jié)點保持一致,因此原節(jié)點和reset節(jié)點之間的【差異變更集】會放入index暫存區(qū)中(Staged files)贞远。所以效果看起來就是工作目錄的內(nèi)容不變畴博,暫存區(qū)原有的內(nèi)容也不變,只是原節(jié)點和Reset節(jié)點之間的所有差異都會放到暫存區(qū)中蓝仲。
保留工作目錄绎晃,并把重置 HEAD 所帶來的新的差異放進暫存區(qū)
--mixed(默認):重置位置的同時蜜唾,只保留Working Tree工作目錄的內(nèi)容,但會將 Index暫存區(qū) 和 Repository 中的內(nèi)容更改和reset目標節(jié)點一致庶艾,因此原節(jié)點和Reset節(jié)點之間的【差異變更集】會放入Working Tree工作目錄中。所以效果看起來就是原節(jié)點和Reset節(jié)點之間的所有差異都會放到工作目錄中擎勘。
git reset --mixed(默認)**xx **
所以效果看起來就是原節(jié)點和Reset節(jié)點之間的所有差異都會放到工作目錄中咱揍。
--soft:
所以效果看起來就是工作目錄的內(nèi)容不變,暫存區(qū)原有的內(nèi)容也不變棚饵,只是原節(jié)點和Reset節(jié)點之間的所有差異都會放到暫存區(qū)中煤裙。
--hard:
效果看起來等同于清空暫存區(qū)和工作區(qū)。就是你的沒有commit的修改會被全部擦掉噪漾。
git restore --staged : 將文件從暫存區(qū)撤出硼砰,但不會撤銷 工作區(qū) 文件的更改 (即: git status 提示的 被修改 且 被加入暫存區(qū)的內(nèi)容,會被撤銷欣硼,工作區(qū)文件的更改 不會變)
git restore :將不在暫存區(qū)的文件撤銷更改 (即: git status 提示的 被修改 但 未被加入暫存區(qū)的內(nèi)容题翰,會被撤銷)
git restore --staged : 撤銷 暫存區(qū)
git restore : 撤銷 本地修改
找回丟失的代碼:
git fsck --lost-found |grep commit
git stash apply xxx