git常用命令备忘
一.分支相關(guān)
1.基本命令
# 列出所有本地分支 $ git branch # 列出所有遠(yuǎn)程分支 $ git branch -r # 列出所有本地分支和遠(yuǎn)程分支 $ git branch -a # 新建一個分支,但依然停留在當(dāng)前分支 $ git branch [branch-name] # 新建一個分支,并切換到該分支 $ git checkout -b [branch] # 新建一個分支,與指定的遠(yuǎn)程分支建立追蹤關(guān)系 $ git branch --track [branch] [remote-branch] # 切換到指定分支,并更新工作區(qū) $ git checkout [branch-name] # 切換到上一個分支 $ git checkout - # 建立追蹤關(guān)系,在現(xiàn)有分支與指定的遠(yuǎn)程分支之間 $ git branch --set-upstream [branch] [remote-branch] # 合并指定分支到當(dāng)前分支 $ git merge [branch] # 刪除分支 $ git branch -d [branch-name] # 刪除遠(yuǎn)程分支 $ git push origin --delete [branch-name] $ git branch -dr [remote/branch] #拉取所有分支代碼 $ git fetch #提交分支代碼 $ git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名> 【分支推送順序的寫法是<來源地>:<目的地>,所以git pull是<遠(yuǎn)程分支>:<本地分支>,而git push是<本地分支>:<遠(yuǎn)程分支>。】 #暫存區(qū)$git stash save "name"
$git stash list
$git stash apply stash@{3}
?
二、各種情況處理 #.放棄某個分支還沒提交的所有修改 $ git checkout . #假如你merge的時候產(chǎn)生了很大的沖突,想先放棄某次merge $ git merge --abort 或 $ git reset HEAD 或 $ git checkout HEAD?
#在非目的分支上做了修改,想切換回目的分支 1) 還未添加到暫存區(qū)/已添加到暫存區(qū)還未提交 1.1新建臨時分支,git checkout -b new_branch,這樣改動會被帶到新分支。然后把非目的分支的修改用git checkout --恢復(fù)。 1.2先git stash,然后切換到目的分支,git checkout 【branch】,在目的分支git stash pop即可。這種方式最好理解,就是把改動先放到一個臨時區(qū)域,讓git先別管,到了正確的分支再拿出來。 2)已提交到本地倉庫 這種情況就要有reset了,用git reset HEAD^撤銷最近一次提交,如果有多次提交的話,查找到對應(yīng)提交id進(jìn)行reset就行。git默認(rèn)的是mixed模式,即撤銷暫存區(qū),保留工作區(qū)。這樣你再切分支也還能把改動帶過去。當(dāng)然加--soft也可以,這樣能保留暫存區(qū)和工作區(qū)。 3)已push到遠(yuǎn)程倉庫 如果很不幸你已經(jīng)把誤修改給push了,你需要用到revert命令,先用git log查找到你誤提交的commitId,然后git revert commitId,產(chǎn)生一次逆向提交,來對沖掉之前的。之后再push到遠(yuǎn)程就可以了。 #git忽略而不提交文件 1)從未提交過的文件可以用.gitignore 這種最簡單,直接把想忽略的文件加入gitignore中忽略提交即可 2)已經(jīng)推送(push)過的文件,想從git遠(yuǎn)程庫中刪除,并在以后的提交中忽略,但是卻還想在本地保留這個文件 $git?rm?--cached pages/index.wxml? 3)已經(jīng)推送(push)過的文件,想在以后的提交時忽略此文件,即使本地已經(jīng)修改過,而且不刪除git遠(yuǎn)程庫中相應(yīng)文件 $git?update-index?--assume-unchanged pages/index.wxml? 如果要忽略一個目錄,打開 git bash,cd到 目標(biāo)目錄下 $git?update-index?--assume-unchanged?$(git?ls-files?|?tr?'\n'?'?')?轉(zhuǎn)載于:https://www.cnblogs.com/LuckyWinty/p/9029900.html
總結(jié)
- 上一篇: centos 7.0 查看selinux
- 下一篇: NDR(网络威胁检测及响应)与NTA的区