git常用命令

1.checkout

$ git checkout -b hotfix
Switched to a new branch 'hotfix'

2.reset

reset Reset current HEAD to the special state.
git reset 可以將提交的內(nèi)容重置。--mixed 是默認(rèn)操作。 --soft 重置之后不會(huì)讓本地的代碼消失。 --hard 重置之后會(huì)讓本地代碼消失。
git reset --hard HEAD^^ 小角個(gè)數(shù)代表重置次數(shù)。執(zhí)行reset操作之后,HEAD和遠(yuǎn)程倉(cāng)庫(kù)不一致,需要解決沖突才能push。
以上命令已經(jīng)無(wú)用,以下命令才有用。2021-06-21

git reset --soft HEAD~1

3.fetch

git fetch origin 遠(yuǎn)程分支xxx:本地分支xxx   
git fetch [<options>] [<repository> [<refspec>…]]
git log FETCH_HEAD   //查看fetch日志

4.rebase和merge

rebase和merge都是用來(lái)合并分支的命令。
rebase只是合并內(nèi)容,不會(huì)合并提交歷史。merge會(huì)把提交歷史都合并。

git checkout featureA
git merge master
git checkout featureA
git rebase master

它會(huì)把整個(gè)featureA的分支直接移到現(xiàn)在master分支的后面。

git rebase origin/dev

合并遠(yuǎn)程分支到當(dāng)前分支。

5.stash

stash將本地的變化緩存起來(lái)。stash pop將代碼從緩存中彈出來(lái)。
可以有效利用該命令,合并遠(yuǎn)程代碼。

refusing to merge unrelated histories

QQ20190611-1@2x.png

需要執(zhí)行g(shù)it pull origin master --allow-unrelated-histories將兩個(gè)分支強(qiáng)行合并

有時(shí)候,git pull的時(shí)候提示失敗,可以用git fetch之后,再git rebase

6.push

git push origin feature-branch:feature-branch    //推送本地的feature-branch(冒號(hào)前面的)分支到遠(yuǎn)程origin的feature-branch(冒號(hào)后面的)分支(沒(méi)有會(huì)自動(dòng)創(chuàng)建)

查看本地分支:

git branch

查看遠(yuǎn)程分支:

git branch -a

7.更新代碼

以下命令的效果,相當(dāng)于fetch+rebase,-r的意思是rebase
git pull -r origin oa-cloud

沒(méi)事的時(shí)候可以看看:https://www.cnblogs.com/qcloud1001/p/9796750.html

存儲(chǔ)密碼,避免多次輸入

You can use the git-credential-store via

git config credential.helper store

which stores your password unencrypted in the file system

8.關(guān)聯(lián)GitHub倉(cāng)庫(kù)

1033738-20180704211141760-1394139259.png

9.開(kāi)發(fā)流程

開(kāi)發(fā)流程.png

10.不merge某個(gè)文件(有問(wèn)題)

http://www.itdecent.cn/p/09b546b936a7

11.delete branch

// delete branch locally
git branch -d localBranchName
// delete branch remotely
git push origin --delete remoteBranchName

12.拉取遠(yuǎn)程分支并創(chuàng)建本地分支

方法一
使用如下命令:

git checkout -b 本地分支名x origin/遠(yuǎn)程分支名x

使用該方式會(huì)在本地新建分支x,并自動(dòng)切換到該本地分支x。

采用此種方法建立的本地分支會(huì)和遠(yuǎn)程分支建立映射關(guān)系。

方式二
使用如下命令:

git fetch origin 遠(yuǎn)程分支名x:本地分支名x

使用該方式會(huì)在本地新建分支x,但是不會(huì)自動(dòng)切換到該本地分支x,需要手動(dòng)checkout。

采用此種方法建立的本地分支不會(huì)和遠(yuǎn)程分支建立映射關(guān)系。

參考鏈接:https://juejin.cn/post/6844903539324485639
https://www.cnblogs.com/qyf404/p/git_push_local_branch_to_remote.html
https://www.cnblogs.com/springbarley/archive/2012/11/03/2752984.html
https://www.huaweicloud.com/articles/e295e93d1a0f08102fe61426ef4997f3.html
https://www.cnblogs.com/qcloud1001/p/9796750.html
https://www.freecodecamp.org/news/how-to-delete-a-git-branch-both-locally-and-remotely/
https://devconnected.com/how-to-undo-last-git-commit/#:~:text=The%20easiest%20way%20to%20undo,removed%20from%20your%20Git%20history.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. GIT命令 git init在本地新建一個(gè)repo,進(jìn)入一個(gè)項(xiàng)目目錄,執(zhí)行g(shù)it init,會(huì)初始化一個(gè)re...
    江邊一蓑煙閱讀 895評(píng)論 0 0
  • Add & Commit git init 初始化一個(gè) Git 倉(cāng)庫(kù)(repository),即把當(dāng)前所在目錄變成...
    冬絮閱讀 5,133評(píng)論 0 9
  • 簡(jiǎn)介 Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。 Git 與常用的版本控制工具 ...
    閩越布衣閱讀 2,875評(píng)論 0 18
  • git 使用筆記 git原理: 文件(blob)對(duì)象,樹(shù)(tree)對(duì)象,提交(commit)對(duì)象 tree對(duì)象 ...
    神刀閱讀 3,852評(píng)論 0 10
  • 首先說(shuō)一下我不是打廣告,就是正面的略客觀的評(píng)價(jià)一下這個(gè)APP。 因?yàn)檫^(guò)年時(shí)候各種不熟悉的親戚來(lái)到面前...
    我是采晨啊閱讀 1,205評(píng)論 0 5

友情鏈接更多精彩內(nèi)容