<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
背景:有的時候從原倉庫fork出了一個新倉庫,這個新倉庫做了自己的修改。可是原倉庫也進行了更新,比如修復了bug,增加了新特性之類的。這個時候想要把原倉庫程式碼同步過來。
原理:把原倉庫的程式碼拉到本地,然後通過git merge
把原倉庫分支程式碼合到自己的分支程式碼。
1.先拉取原倉庫程式碼到本地
git remote add upstream (填寫你倉庫git地址) git fetch upstream
這樣就把原倉庫程式碼拉到本地了,而且 upstream 跟原倉庫進行了繫結。(類似origin的繫結,upstream 也可以命名為其它的名稱)
此時執行git remote
,會看到有兩個:
origin
remote
2.合併分支
切換到fork倉庫的分支,可以新建一個合併分支。然後執行命令:
# 分支名不一定得是master,也可以是其它的原倉庫分支。 git merge upstream/master
如果有衝突就要解決衝突,解決完執行下命令即可:
git merge --continue
最後,如果完成了,可以執行命令移除這個繫結。
git remote remove upstream
完成一小部分功能進行提交是一個良好的習慣,有利於我們隨時回溯程式碼。然而整體功能沒完成是不能提交到主幹的,而且也傾向於整體功能完成合併為一個提交。因此原生的多個小提交合併成一個提交就很有必要了。下面舉個栗子演示合併操作。
執行git log
,檢視歷史提交:
commit 03c72b6dfc24c6bf6f60e2c922552249cc3e5376 git test 3 commit 24276fbd0495c4b337f4058726a48e68118eac0a git test 2 commit 9f92d8624a3adf7cd6fb69268f99d864390838c4 git test 1
假設要將前兩筆提交合並,則記錄下第三筆的commitId:9f92d8624a3adf7cd6fb69268f99d864390838c4
。(第三筆提交不參與合併)
執行以下命令:
git rebase -i 9f92d8624a3adf7cd6fb69268f99d864390838c4
執行後會彈出以下:
pick 24276fbd git test 2 pick 03c72b6d git test 3 # 省略以下內容
此時要將除第一個外的pick改為squash或者s。即改完後為:
pick 24276fbd git test 2 s 03c72b6d git test 3 # 省略以下內容
改完儲存退出,會彈出commit message修改介面,修改儲存即可。
再執行git log
發現提交已經合併了。
commit 980d318f91f2faa1d748ae5a963b692162dd521c git test merge commit 9f92d8624a3adf7cd6fb69268f99d864390838c4 git test 1
1、在工作區的程式碼
# 丟棄某個檔案 git checkout -- 檔名 # 丟棄全部 git checkout -- .
2、git add
到了索引區
# 回退索引區所有檔案 git reset HEAD . # 回退索引區指定資料夾 git reset HEAD 資料夾名
3、commit 到本地分支的程式碼
# 回退最新一筆提交 git reset --hard HEAD^ # 回退到指定的版本 git reset --hard 版本號
這裡說下reset時,指定--hard、--soft、--mixed的區別:
當你的專案很大,而有多個特性需要開發時,為了避免頻繁切換分支,可以使用git worktree
。
git worktree
非常適合大型專案又需要維護多個分支,想要避免來回切換的場景。其有以下幾個優點:
git worktree
使用非常簡單,掌握3個命令即可:
# 新增一個 worktree。 git worktree add filePath # 移除一個 worktree git worktree remove filePath # 檢視目前所有的 worktree git worktree list
建立了worktree
後,只需要用IDE開啟新增到filePath
的專案即可。
#本地分支與遠端進行關聯 git branch --set-upstream-to=origin/(要關聯的分支名) #推播本地新建分支到遠端分支(遠端會自動建立分支) git push origin newbranch:originbranch #刪除遠端分支 git push origin --delete (branch_name) #檢視本地分支關聯的遠端分支 git branch -vv #分支重新命名 git branch -m oldName newName #修改當前專案的使用者名稱和郵箱 git config --local user.name 「userName" git config --local user.email email@example.com #刪除本地版本庫上那些失效的遠端追蹤分支: git remote prune origin --dry-run
以上就是常用的Git便捷操作合集的詳細內容,更多關於Git便捷操作的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45