精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

git使用雜記

移動開發 Android
作為一個開發者,如果現在還不知道git或者還不會使用git,那么你應該好好的反省。自己去好好看一遍的入門介紹吧。今天只是對自己在日常中使用git的一些常用命令的介紹與自己認為不錯且能提高我們辦公效率的命令。內容可能會有點雜亂,但絕對都是經典的命令,在此記下筆記,也希望能幫助來賞臉關顧的你們。

前言

作為一個開發者,如果現在還不知道git或者還不會使用git,那么你應該好好的反省。自己去好好看一遍的入門介紹吧。今天只是對自己在日常中使用git的一些常用命令的介紹與自己認為不錯且能提高我們辦公效率的命令。內容可能會有點雜亂,但絕對都是經典的命令,在此記下筆記,也希望能幫助來賞臉關顧的你們。

區域

在這之前,來介紹一下git的三個區域

  • 工作區(working directory)
  • 暫存區(stage index)
  • 本地歷史區(history)

通過一張圖就能簡潔易懂的明白它們之間的轉化。 

 

 

 

clone

先從clone命令來介紹,使用過git的都知道它。git colne命令拉取遠程倉庫到本地。但當我們要拉取到指定的文件夾下時,你可能會直接mkdir,其實無需如此,一條命令就能搞定git clone 遠程倉庫 文件名,就是如此簡單。

rm

我們在工作中可能會遇到這么一種情況,使用git add .直接將工作區的所有修改的文件加入到暫存區了,但是后面發現有一個文件先不要加進去,此時我們就可以使用如下命令就可以將該文件退回到工作區中。

  1. git rm --cached <file> 

stash

有這么一種情況,當你正在開發中時,有一個線上的緊急bug需要修復,此時開發中的功能又沒有完成你不想提交,此時你可以使用git stash將工作區的文件都存放起來。這時你就可以放心的去切分支修復bug,修復完之后執行git stash pop可以將先前存放的取出,當然也有一些其他的相關命令例如:git stash list查看存放的記錄,git stash drop丟棄存放的記錄。

tag

可能在開發中我們要打標簽git tag tagName,并且要將相應的標簽推送到遠程倉庫中,此時可以使用如下命令進行推送。

  1. git push --tags tagName 

amend

當你commit以后,發現有一個文件沒有加進上次的commit中,或者又修改了一些文件。此時你并不想增加新的commit信息,只是想將其加入到上次的commit中。這時你就可以使用

  1. git commit --amend <file> 

將暫存區的文件加入其中,并且你也可以修改此時的commit信息。

reset

reset也能實現前面的rm的效果,可以使用如下命令來替代前面的git rm --cached <file>命令

  1. git reset HEAD <file> 

但reset用途更廣,結合soft參數可以回撤到任意的commit節點進行操作

  1. git reset --soft index 

執行該命令之后,就回到index處,工作區不變、暫存區回到當時的index處。另外還有一個hard參數。

  1. git reset --hard index 

與soft可以說對立,它的效果就在于工作區與暫存區的不同,它會清空這兩個區。

rebase

對于rebase是重定向的意思,如果你當前的分支與遠程的分支commit信息存在差異時,會提醒你此時不能進行push,必須先將遠程的commit信息拉去到本地來,才能進行提交。對于這種情況就可以使用rebase命令了。如下當前處在develop分支 

 

 

 

此時應該先執行rebase命令

  1. git fetch 
  2. git rebase origin/master  

執行完之后,***再push到遠程master

  1. git push origin master 

最終各個分支的情況就是上圖的效果了。如果覺得命令多難記,這里也可用一條命令來完成上面的效果

  1. git pull --rebase origin master 

這是rebase的簡單運用,也是常見的命令了。下面介紹rebase的一個可選參數--onto。

--onto

使用場景:開發過程中我們都會創建不同的分支進行開發不同的功能,當你在分支A上創建了新分支B進行開發功能并且也提交了一些commit時,此時你發現原來A分支上有錯誤的commit,如果要rebase到master上時,不能將這個錯誤的commit也附帶上。這個時候就該--onto大顯神通了。 

 

 

 

當前處在B分支,要得到上面的結果,只需執行如下命令

  1. git rebase --onto master <b的commit hash code> B 

這個不僅可以針對不同的分支,也能作用于同一個分支上。所以針對上面的情況可以只對分支B進行操作,等價命令如下:

  1. git rebase --onto <a的commit hash code> <b的commit hash code> B 

--interactive

當我們要修改commit信息的名稱時,如果要修改的commit處在***個時,可以使用

  1. git commit --amend 

如果不是***個時,我們就要使用到rebase的--interactive可選參數了,可以簡寫為-i。

  1. git rebase -i <commit hash code> 

參數后面的commit hash code為需要修改的commit的前一個。執行之后就會出現如下類似的信息:

  1. pick 137cf0a First coommit 
  2. pick 163dc38 Second commit 
  3.  
  4. # Rebase f9aee6e..163dc38 onto f9aee6e (2 command(s)) 
  5. # Commands: 
  6. # p, pick = use commit 
  7. # r, reword = use commit, but edit the commit message 
  8. # e, edit = use commit, but stop for amending 
  9. # s, squash = use commit, but meld into previous commit 
  10. # f, fixup = like "squash", but discard this commit's log message 
  11. # x, exec = run command (the rest of the line) using shell 
  12. # These lines can be re-ordered; they are executed from top to bottom. 
  13. # If you remove a line here THAT COMMIT WILL BE LOST. 
  14. # However, if you remove everything, the rebase will be aborted. 
  15. # Note that empty commits are commented out  

根據提示我們可以有6個可選擇的操作。相信提示已經說的很明顯了,對于我們這種要修改First coommit的情況,需要使用r。

  1. r 137cf0a First commit 
  2. pick 163dc38 Second commit  

執行之后會跳到修該First coomit的界面,進行修改即可。

  1. First commit 
  2.  
  3. # Please enter the commit message for your changes. Lines starting 
  4. with '#' will be ignored, and an empty message aborts the commit
  5. Date:      Thu Jan 26 23:07:10 2017 +0800 
  6. # rebase in progress; onto f9aee6e 
  7. # You are currently editing a commit while rebasing branch 'master' on 'f9aee6e'
  8. # Changes to be committed
  9. #       new file:   file1  

至于其他的操作項,有興趣的可以自己去嘗試一下。例如s操作就可以用來合并commit。

branch

相信branch都很熟悉,我這里要說的是他的另一種可能會用到的情況。場景是這樣的:如果在你進行創建新的分支時,并不想從當前的commit信息節點進行創建分支。 

 

 

 

要實現如上效果只需在創建分支時在后面再添加額外的參數,該參數就是你所需調到的commit節點的hash code

  1. git branch new_branch <commit hash code> 

push

這里提一下push的--set-upstream,它的效果是設置上游分支,當我們將遠程不存在的本地分支推送到遠程時,如果不在推送的分支上,我們一般會使用如下命令進行推送。

  1. git checkout push_branch 
  2. git push origin push_branch  

下面是簡潔的方法,使用該參數無需切換分支,可以直接使用如下命令進行推送。

  1. git push --set-upstream origin push_branch 

cherry-pick

這個命令的場景是:當你所在的分支沒用,你要刪除它,但其中的一個commit你還是想推送到遠程master上。 

 

 

 

將分支切換到master,執行以下命令:

  1. git cherry-pick <b的 commit hash code> 

merge

我們所熟知的是使用merge來進行分支的合并,每次使用merge時都會自動將副分支合并成一個commit進行推送到主分支上,那么如果我不想它自動推送到主分支上時(可能我還需要進行修改),這時就可以使用--squash操作

  1. git merge --squash dev_branch 

執行完以上命令后,我們就可以在暫存區看到一個還未提交的文件狀態。

reflog

當我們切分支太頻繁了之后,可能會忘了一些分支是從哪個分支切過來的,此時可以使用如下命令查看:

  1. git reflog  
  1. 894a16d HEAD@{0}: commitcommit another todo 
  2. 6876e5b HEAD@{1}: checkout: moving from solve_world_hunger to kill_the_batman 
  3. 324336a HEAD@{2}: commitcommit todo 
  4. 6876e5b HEAD@{3}: checkout: moving from blowup_sun_for_ransom to solve_world_hunger 
  5. 6876e5b HEAD@{4}: checkout: moving from kill_the_batman to blowup_sun_for_ransom 
  6. 6876e5b HEAD@{5}: checkout: moving from cure_common_cold to kill_the_batman 
  7. 6876e5b HEAD@{6}: commit (initial): initial commit  

這樣我們就可以看到所用的操作歷史了。這樣如果我們使用git reset命令不小心刪除了需要的東西。可以通過此來查找到刪除操作的hash code,之后就可以通過如下命令進行恢復。 

  1. git checkout <hash code> 

目前想到的就這些了,希望能有所幫助

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2014-07-28 14:43:14

git開源

2015-08-06 10:28:24

git規范流程

2020-01-18 18:41:13

GitGit服務器開源

2020-11-23 07:27:22

Git Flow

2021-03-08 07:46:53

Git開源控制系統

2018-05-04 09:14:09

Git技巧shell命令

2020-10-27 07:31:35

GitGit RevertGit Reset

2021-01-04 13:25:10

Git開源工具

2015-08-24 08:59:13

Git技巧

2022-04-14 06:16:07

Gitbase開源

2021-10-13 13:51:24

MDKGit管理

2010-05-25 16:39:56

SVN中使用Git

2017-03-13 16:48:05

Git技巧

2019-07-08 09:10:48

TigGitLinux

2012-05-04 10:20:23

JavaSwingNinePatch

2016-12-19 14:59:55

Git二進制管理

2024-08-07 10:24:04

2024-06-03 00:01:00

2013-12-25 16:03:39

GitGit 命令

2016-10-28 08:57:56

Git圖形界面
點贊
收藏

51CTO技術棧公眾號

欧美综合在线观看视频| 精品欧美一区二区精品久久| 欧美h片在线观看| 警花av一区二区三区| 午夜私人影院久久久久| 天堂一区二区三区 | 欧美暴力喷水在线| 亚洲精品一区二区网址| 欧美一级特黄aaa| 五月天av在线| 亚洲精品国产品国语在线app| 久久艳妇乳肉豪妇荡乳av| 国产免费高清视频| 久久综合网络一区二区| 精品久久久91| 自拍偷拍中文字幕| 哺乳挤奶一区二区三区免费看| 色婷婷综合视频在线观看| 成人黄色片免费| 在线观看麻豆| 久久蜜桃av一区二区天堂| 91青青草免费观看| 一级日韩一级欧美| 三级不卡在线观看| 69视频在线免费观看| 亚洲成人生活片| 欧美丝袜激情| 日韩精品视频中文在线观看 | 丁香桃色午夜亚洲一区二区三区| 国产精品久久久久久久久久ktv | 欧美日韩一区三区四区| www一区二区www免费| 欧美大片黄色| 亚洲老司机在线| 亚洲一区二三| av中文在线| 久久久久久亚洲综合影院红桃| 国产成人av一区二区三区| 国产精品无码专区av免费播放| 日韩专区中文字幕一区二区| 欧美专区在线观看| 日韩视频在线观看一区| 亚洲一区成人| 97碰在线观看| 日韩无码精品一区二区三区| 国内成人在线| 久久久久亚洲精品| 欧美一级高潮片| 国产精品vip| 欧美激情免费看| 精品无码人妻一区二区三| 欧美va亚洲va日韩∨a综合色| 久久精视频免费在线久久完整在线看 | 最新国产精品久久| 麻豆视频在线免费观看| 国产精品灌醉下药二区| 一区高清视频| a视频在线免费看| 亚洲日本韩国一区| 青青草影院在线观看| av片在线观看永久免费| 一区二区三区四区在线免费观看 | 久久99精品国产99久久| 日本免费网站在线观看| 久久综合九色综合欧美亚洲| 欧美一区少妇| 免费在线看黄| 亚洲影视在线观看| 国产精品333| 456成人影院在线观看| 欧美视频一区二区三区四区| 五月婷婷丁香色| 日本高清精品| 亚洲国产成人久久综合| 五级黄高潮片90分钟视频| 不卡中文字幕| 欧美精品在线免费| 国产成人在线观看网站| 日韩成人精品在线观看| 91在线网站视频| 三级在线观看网站| 国产亚洲短视频| 国产高潮呻吟久久久| 成人超碰在线| 在线观看亚洲专区| 日韩精品xxx| 综合干狼人综合首页| 色噜噜狠狠色综合网图区| 久久久久无码精品国产| 日韩一区精品视频| 91精品黄色| 欧洲免费在线视频| 中文字幕亚洲在| 2018国产在线| 天天综合在线观看| 日韩电影大片中文字幕| 青花影视在线观看免费高清| 亚洲精品美女| 成人网页在线免费观看| 午夜小视频在线播放| 最新国产成人在线观看| a√天堂在线观看| www.久久久.com| 国产丝袜精品第一页| 亚洲一级生活片| 久热精品视频| 国产精品初高中精品久久| 91社区在线观看| 精品福利一区二区| 亚洲制服在线观看| 黑丝美女一区二区| 国内精品久久久久影院优| 亚洲一级特黄毛片| 久久亚洲综合色| 女人色极品影院| 色综合视频一区二区三区44| 日韩黄在线观看| 国产小视频在线观看免费| 久久99精品一区二区三区三区| 久中文字幕一区| 欧美黄色视屏| 69av一区二区三区| 久久午夜福利电影| 午夜在线a亚洲v天堂网2018| 动漫3d精品一区二区三区| 欧美尤物美女在线| 欧美性色综合网| 法国空姐电影在线观看| 亚洲少妇诱惑| 韩国精品一区二区三区六区色诱| 99热国产在线| 7777女厕盗摄久久久| av资源在线免费观看| 日韩国产一区二| 欧美日韩国产不卡在线看| 日韩激情电影免费看| 亚洲高清免费观看高清完整版| 欧美精品一区二区蜜桃| 国产成人免费xxxxxxxx| 亚洲精品天堂成人片av在线播放 | 深夜国产在线播放| 日韩一区二区麻豆国产| 国产大片免费看| 国产在线观看免费一区| 一级一片免费播放| 国产欧美日韩电影| 欧美成人激情在线| www.看毛片| 亚洲愉拍自拍另类高清精品| 色婷婷狠狠18禁久久| 欧美视频一区| 国产精品一区二区三区免费观看 | 国产成人精品日本亚洲专区61| 少妇又色又爽又黄的视频| 天天色综合天天| 泷泽萝拉在线播放| 久久一二三区| 欧美日韩在线一二三 | 91日本在线观看| 国产精品扒开做爽爽爽的视频| 欧美一区二区播放| 精品无码m3u8在线观看| av亚洲精华国产精华精华 | 狠狠色丁香久久婷婷综| 99热都是精品| 国产精品chinese在线观看| 97在线视频国产| 国产中文字幕在线看| 欧美精选一区二区| 精品一区二区三区人妻| 久久综合色播五月| 91亚洲精品久久久蜜桃借种| 狠狠爱www人成狠狠爱综合网 | 国产激情综合五月久久| 欧美成人hd| 精品av久久707| 91久久国产综合久久91| 亚洲日本va在线观看| 亚洲自拍偷拍精品| 日本美女视频一区二区| 国产资源第一页| 亚洲制服欧美另类| 91亚洲精品一区| 久久久男人天堂| 在线成人激情视频| www.com欧美| 色婷婷精品久久二区二区蜜臀av | 五月天精品一区二区三区| 亚洲区免费视频| 狠狠久久亚洲欧美| 六月丁香婷婷激情| 亚洲精品成人影院| 久久综合入口| 日韩高清在线观看一区二区| 欧洲亚洲免费在线| 中文字幕资源网在线观看| 日韩高清a**址| 国产精品久久久久精| 精品美女国产在线| 神马午夜精品91| 久久午夜羞羞影院免费观看| 国产性生活一级片| 中日韩男男gay无套| 吴梦梦av在线| 国产欧美日韩一区二区三区四区| av日韩免费电影| 欧美激情不卡| 日韩av大片在线| 国模私拍视频在线播放| 日韩亚洲一区二区| 国产二区在线播放| 亚洲精品国精品久久99热| 国产精品主播一区二区| 欧美午夜一区二区三区| 国产区在线观看视频| 亚洲主播在线播放| 欧美肥妇bbwbbw| 国产欧美日韩另类一区| 波多野结衣有码| 懂色av中文字幕一区二区三区| 日本中文字幕二区| 日韩黄色一级片| 精品中文字幕av| 亚洲精品日本| 99在线免费视频观看| 欧美日韩免费| 黄黄视频在线观看| 亚洲精品国产成人影院| 亚洲资源在线网| 日韩精品二区| 樱花www成人免费视频| 成人看的羞羞网站| 日韩电影天堂视频一区二区| 牲欧美videos精品| 国产亚洲二区| 日本亚洲不卡| 久久超碰亚洲| 欧美男男freegayvideosroom| 超碰97在线资源| 爱爱精品视频| 国产三区二区一区久久| jizz国产精品| 精品一区久久久| 欧亚精品一区| 欧美日韩国产高清视频| 精品日韩免费| 一区二区三区四区不卡| 久久综合国产| 三级网在线观看| 狠狠干成人综合网| 你懂的av在线| 久久久精品五月天| 一区二区三区视频在线观看免费| 免费在线观看精品| www激情五月| 成人一区在线观看| 人妻丰满熟妇av无码久久洗澡| www亚洲一区| 91激情视频在线观看| 国产精品久久久久影院| 国产精品视频一区二区在线观看| 亚洲女人的天堂| 国产在线综合网| 日韩欧美在线字幕| 中文字幕一区二区免费| 91精品国产综合久久福利| 精品国产乱码一区二区三| 亚洲成人精品视频| 你懂的在线看| 色妞色视频一区二区三区四区| 99在线播放| 欧美一级视频免费在线观看| 欧洲成人一区| 亚洲free嫩bbb| 四虎影视精品| 亚洲第一导航| 亚洲午夜在线| av在线无限看| 成人亚洲一区二区一| 久久国产精品影院| 中文字幕一区不卡| 国产欧美日韩另类| 欧美日韩的一区二区| 免费观看毛片网站| 一区二区亚洲精品国产| 欧美aaaaaaa| 国产成人一区二区在线| 欧美一级片网址| 欧美午夜欧美| 欧美精品网站| 欧美成人黄色网址| 成人一级视频在线观看| 日韩欧美黄色网址| 欧美日韩精品在线视频| 91精东传媒理伦片在线观看| 亚洲精品国产免费| www久久日com| 国产精品r级在线| 777久久精品| 一区二区三区欧美成人| 国产精品视频| 四川一级毛毛片| 国产网红主播福利一区二区| 久久精品亚洲无码| 欧美精品久久99久久在免费线 | 国产亚洲欧洲一区高清在线观看| 日韩欧美综合视频| 色综合久久综合网欧美综合网| 国产富婆一级全黄大片| 中文字幕在线亚洲| 中文在线а√在线8| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 国产女人18毛片水真多| 亚洲色图第一页| 麻豆蜜桃在线观看| 福利视频久久| 欧美电影《睫毛膏》| 人妻无码视频一区二区三区| 不卡的av电影| 国产大片中文字幕| 日韩久久精品一区| 国产激情视频在线观看| 国产精品免费小视频| 国产aⅴ精品一区二区三区久久| 日韩中文字幕在线免费| 成人网男人的天堂| 久久久久久天堂| 精品裸体舞一区二区三区| av免费看在线| 99在线视频播放| 欧美一区影院| 亚洲精品无码久久久久久久| 中文字幕综合网| 91精品国产乱码久久| 国产一区二区三区在线| 亚洲www免费| 欧美精品一区二区三区在线四季 | 精品视频三区| 日本免费一区二区三区视频观看| 国产精品中文字幕制服诱惑| 日韩精品一区二区免费| 国产99久久久久| 日本少妇做爰全过程毛片| 亚洲成人激情在线观看| 丁香花视频在线观看| 国产免费一区| 在线亚洲一区| 日本性高潮视频| 欧美日韩在线播| 成人片在线看| 成人欧美一区二区| 亚洲国产精品第一区二区| 中文字幕乱码在线| 日韩欧美在线视频日韩欧美在线视频| 欧洲视频在线免费观看| 国产精品白嫩初高中害羞小美女 | 91免费国产在线| www.com国产| 国产一区二区三区欧美| 亚洲精品tv| 免费cad大片在线观看| 成人18视频在线播放| 中文字幕高清在线免费播放| 中文字幕精品视频| 欧美黄视频在线观看| 久久综合久久网| 国产亚洲短视频| aaa一区二区三区| 久久久久一本一区二区青青蜜月| 四虎5151久久欧美毛片| 中文字幕永久有效| 亚洲午夜免费视频| 蜜芽tv福利在线视频| 成人免费高清完整版在线观看| 亚洲无毛电影| 精品一区二区三区蜜桃在线| 欧美久久久久久久久久| aa视频在线观看| 亚洲精品一区二区三区樱花| 国产寡妇亲子伦一区二区| 在线天堂中文字幕| 久久韩国免费视频| 林ゆな中文字幕一区二区| 天堂社区在线视频| 亚洲一区二区欧美日韩 | 国产精品久久久久久久久搜平片| 国产福利免费视频| 国产精品xxx视频| 亚洲国产一区二区三区在线播放| 手机在线成人av| 欧美日韩国产综合久久| а√天堂中文在线资源8| 色综合666| 99久久99久久精品国产片果冻| 正在播放木下凛凛xv99| 久久人人97超碰精品888| 久久精品不卡| 成人午夜剧场视频网站| 日韩欧美国产综合一区| www.一区|