亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

常用的Git便捷操作合集

 更新時(shí)間:2022年09月27日 09:37:23   作者:carverZhong  
雖然現(xiàn)在有很多圖形化的?Git?工具,但是命令行依然?yyds。本文記錄了工作中很有用的一些?Git?操作,感興趣的小伙伴可以跟隨小編一起了解一下

1.Fork出來(lái)的Git倉(cāng)庫(kù)同步代碼

背景:有的時(shí)候從原倉(cāng)庫(kù)fork出了一個(gè)新倉(cāng)庫(kù),這個(gè)新倉(cāng)庫(kù)做了自己的修改??墒窃瓊}(cāng)庫(kù)也進(jìn)行了更新,比如修復(fù)了bug,增加了新特性之類的。這個(gè)時(shí)候想要把原倉(cāng)庫(kù)代碼同步過(guò)來(lái)。

原理:把原倉(cāng)庫(kù)的代碼拉到本地,然后通過(guò)git merge把原倉(cāng)庫(kù)分支代碼合到自己的分支代碼。

1.先拉取原倉(cāng)庫(kù)代碼到本地

git remote add upstream (填寫你倉(cāng)庫(kù)git地址)

git fetch upstream

這樣就把原倉(cāng)庫(kù)代碼拉到本地了,而且 upstream 跟原倉(cāng)庫(kù)進(jìn)行了綁定。(類似origin的綁定,upstream 也可以命名為其它的名稱)

此時(shí)執(zhí)行git remote,會(huì)看到有兩個(gè):

origin
remote

2.合并分支

切換到fork倉(cāng)庫(kù)的分支,可以新建一個(gè)合并分支。然后執(zhí)行命令:

# 分支名不一定得是master,也可以是其它的原倉(cāng)庫(kù)分支。
git merge upstream/master 

如果有沖突就要解決沖突,解決完執(zhí)行下命令即可:

git merge --continue

最后,如果完成了,可以執(zhí)行命令移除這個(gè)綁定。

git remote remove upstream

2.合并多個(gè)提交

完成一小部分功能進(jìn)行提交是一個(gè)良好的習(xí)慣,有利于我們隨時(shí)回溯代碼。然而整體功能沒(méi)完成是不能提交到主干的,而且也傾向于整體功能完成合并為一個(gè)提交。因此本地的多個(gè)小提交合并成一個(gè)提交就很有必要了。下面舉個(gè)栗子演示合并操作。

執(zhí)行git log,查看歷史提交:

commit 03c72b6dfc24c6bf6f60e2c922552249cc3e5376

git test 3

commit 24276fbd0495c4b337f4058726a48e68118eac0a

git test 2

commit 9f92d8624a3adf7cd6fb69268f99d864390838c4

git test 1

假設(shè)要將前兩筆提交合并,則記錄下第三筆的commitId:9f92d8624a3adf7cd6fb69268f99d864390838c4。(第三筆提交不參與合并)

執(zhí)行以下命令:

git rebase -i 9f92d8624a3adf7cd6fb69268f99d864390838c4

執(zhí)行后會(huì)彈出以下:

pick 24276fbd git test 2

pick 03c72b6d git test 3

# 省略以下內(nèi)容

此時(shí)要將除第一個(gè)外的pick改為squash或者s。即改完后為:

pick 24276fbd git test 2

s 03c72b6d git test 3

# 省略以下內(nèi)容

改完保存退出,會(huì)彈出commit message修改界面,修改保存即可。

再執(zhí)行git log發(fā)現(xiàn)提交已經(jīng)合并了。

commit 980d318f91f2faa1d748ae5a963b692162dd521c

git test merge


commit 9f92d8624a3adf7cd6fb69268f99d864390838c4

git test 1

3.代碼回退

1、在工作區(qū)的代碼

# 丟棄某個(gè)文件
git checkout -- 文件名

# 丟棄全部
git checkout -- .

2、git add到了索引區(qū)

# 回退索引區(qū)所有文件
git reset HEAD .

# 回退索引區(qū)指定文件夾
git reset HEAD 文件夾名

3、commit 到本地分支的代碼

# 回退最新一筆提交
git reset --hard HEAD^

# 回退到指定的版本
git reset --hard 版本號(hào)

這里說(shuō)下reset時(shí),指定--hard、--soft、--mixed的區(qū)別:

  • hard: 回退時(shí)HEAD指針被回退,索引區(qū)、工作目錄都被重置了。
  • soft: 只改變了歷史提交(HEAD指針),索引區(qū)和工作目錄沒(méi)有更改。
  • mixed: 不指定時(shí)默認(rèn)為mixed,改變了歷史提交(HEAD指針),重置了索引區(qū)。

4.使用worktree

當(dāng)你的項(xiàng)目很大,而有多個(gè)特性需要開發(fā)時(shí),為了避免頻繁切換分支,可以使用git worktree。

git worktree非常適合大型項(xiàng)目又需要維護(hù)多個(gè)分支,想要避免來(lái)回切換的場(chǎng)景。其有以下幾個(gè)優(yōu)點(diǎn):

  • 單獨(dú) clone 項(xiàng)目相比,節(jié)省了硬盤空間,又因?yàn)?git worktree 使用 hard link 實(shí)現(xiàn),要遠(yuǎn)遠(yuǎn)快于 clone
  • 提交可以在同一個(gè)項(xiàng)目中共享
  • 可以快速進(jìn)行并行開發(fā),同一個(gè)項(xiàng)目多個(gè)分支同時(shí)并行演進(jìn)

git worktree使用非常簡(jiǎn)單,掌握3個(gè)命令即可:

# 添加一個(gè) worktree。
git worktree add filePath
# 移除一個(gè) worktree
git worktree remove filePath
# 查看目前所有的 worktree
git worktree list

創(chuàng)建了worktree后,只需要用IDE打開添加到filePath的項(xiàng)目即可。

5.其它

#本地分支與遠(yuǎn)程進(jìn)行關(guān)聯(lián)
git branch --set-upstream-to=origin/(要關(guān)聯(lián)的分支名)

#推送本地新建分支到遠(yuǎn)端分支(遠(yuǎn)端會(huì)自動(dòng)創(chuàng)建分支)
git push origin newbranch:originbranch

#刪除遠(yuǎn)端分支
git push origin --delete (branch_name)

#查看本地分支關(guān)聯(lián)的遠(yuǎn)程分支
git branch -vv

#分支重命名
git branch -m oldName newName

#修改當(dāng)前項(xiàng)目的用戶名和郵箱
git config --local user.name “userName"
git config --local user.email email@example.com

#刪除本地版本庫(kù)上那些失效的遠(yuǎn)程追蹤分支:
git remote prune origin --dry-run

以上就是常用的Git便捷操作合集的詳細(xì)內(nèi)容,更多關(guān)于Git便捷操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • HTTP協(xié)議詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    HTTP協(xié)議詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了HTTP協(xié)議詳解,超文本傳輸協(xié)議(HTTP)是一種通信協(xié)議,它允許將超文本標(biāo)記語(yǔ)言(HTML)文檔從Web服務(wù)器傳送到客戶端的瀏覽器
    2017-07-07
  • Git pull(拉取)及push(上傳)相關(guān)命令介紹

    Git pull(拉取)及push(上傳)相關(guān)命令介紹

    這篇文章主要介紹了Git pull(拉取),push(上傳)相關(guān)命令,git是一個(gè)非常好用的分布式版本管理工具,Git是去中心化,每一個(gè)分支都是一個(gè)中心,并且支持本地倉(cāng)庫(kù)存儲(chǔ),像如今很多大公司都用git做版本控制。有興趣的話來(lái)學(xué)習(xí)一下
    2020-07-07
  • kafka不支持讀寫分離原理分析

    kafka不支持讀寫分離原理分析

    這篇文章主要為大家介紹了kafka不支持讀寫分離原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 算法系列15天速成 第四天 五大經(jīng)典查找【上】

    算法系列15天速成 第四天 五大經(jīng)典查找【上】

    在我們的生活中,無(wú)處不存在著查找,比如找一下班里哪個(gè)mm最pl,猜一猜mm的芳齡....... 對(duì)的這些都是查找
    2013-11-11
  • textarea 在IE和FF下?lián)Q行無(wú)法正常顯示的解決方法

    textarea 在IE和FF下?lián)Q行無(wú)法正常顯示的解決方法

    今天在做項(xiàng)目時(shí)用到textarea 用戶輸入信息后顯示不換行在IE下測(cè)試成功在FF沒(méi)反應(yīng)
    2010-07-07
  • 淺析Git 分支的新建與合并

    淺析Git 分支的新建與合并

    這篇文章主要介紹了Git 分支的新建與合并,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • http 200、301、304等狀態(tài)碼詳解

    http 200、301、304等狀態(tài)碼詳解

    在利用httpwatch進(jìn)行抓包分析時(shí),我們經(jīng)常會(huì)看到200、301、304這幾個(gè)狀態(tài)碼。具本三者是什么意思呢?這里腳本之家小編就為大家介紹一下
    2017-07-07
  • Imagenet2012數(shù)據(jù)集下載、介紹(推薦)

    Imagenet2012數(shù)據(jù)集下載、介紹(推薦)

    最近研究可能會(huì)用到該數(shù)據(jù)集,發(fā)現(xiàn)過(guò)去好多分享的官網(wǎng)下載鏈接已經(jīng)失效,找了很久才找到了網(wǎng)盤的數(shù)據(jù)集,對(duì)Imagenet數(shù)據(jù)集下載需要的朋友跟隨小編一起看看吧
    2022-09-09
  • 網(wǎng)站被等惡意鏡像的解決、反制措施詳細(xì)教程

    網(wǎng)站被等惡意鏡像的解決、反制措施詳細(xì)教程

    這篇文章主要介紹了網(wǎng)站被等惡意鏡像的解決、反制措施詳細(xì)教程,需要的朋友可以參考下
    2016-10-10
  • vscode如何安裝漢化和Python智能感知

    vscode如何安裝漢化和Python智能感知

    VSCode(VisualStudioCode)是由微軟研發(fā)的一款免費(fèi)、開源的跨平臺(tái)文本(代碼)編輯器,算是目前前端開發(fā)幾乎完美的軟件開發(fā)工具。今天我們來(lái)看看它如何使用呢
    2020-01-01

最新評(píng)論