欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Git的簡(jiǎn)單理解及基礎(chǔ)操作命令詳解

 更新時(shí)間:2017年10月24日 10:53:09   作者:野獸''''  
Git是一款免費(fèi)、開源的、用Linux內(nèi)核開發(fā)的分布式版本控制系統(tǒng)。下面通過本文給大家分享Git的簡(jiǎn)單理解及基礎(chǔ)操作命令,需要的朋友參考下吧

git和svn有什么區(qū)別呢?

git采用分布式版本庫管理,而svn采用集中式版本庫管理。

集中式版本庫管理需要有一臺(tái)存放版本庫的服務(wù)器,開發(fā)人員在開發(fā)的時(shí)候分別從服務(wù)器拉取過來最新版本,然后創(chuàng)建/進(jìn)入分支進(jìn)行開發(fā),開發(fā)完成之后將分支提交或者合并到主分支。

分布式版本庫管理允許開發(fā)者們將版本庫搬到自己的電腦上,在開發(fā)過程中,開發(fā)者們可以根據(jù)不同的目的創(chuàng)建分支和修改代碼,開發(fā)完成后進(jìn)行各項(xiàng)合并,這樣做提高了開發(fā)的敏捷性和速度,并且減少了公共服務(wù)器的壓力,且任意兩個(gè)開發(fā)者之間的沖突更容易得到解決。

git安裝

首先,你可以在你的電腦上執(zhí)行"git"命令,檢查是否已安裝git。如果已安裝,則會(huì)列出它的選項(xiàng)和最常用的子命令。如果未安裝,則打印提示未安裝或不是內(nèi)部/外部命令。

安裝包下載地址:git.download,按需選擇吧,想必憑各位多年的電腦開關(guān)機(jī)經(jīng)驗(yàn),QQ、瀏覽器、游戲等的安裝卸載經(jīng)驗(yàn),這步驟應(yīng)該不會(huì)出現(xiàn)什么問題。

git的配置

安裝完git,我們執(zhí)行"git"命令查看它的選項(xiàng)和最常用的子命令。

//這里命令也就不一一列出了,大家自己執(zhí)行看下即可(讓我偽裝下注釋,謝謝~)

然后就是配置你的名稱及郵箱:

git config --global user.name "yeshou"
git config --global user.email xxx@qq.com

我們可以通過根目錄下的.gitconfig文件查看配置信息,這里加了--global,所以是全局配置,若其他倉庫木有單獨(dú)配置,則使用的是全局的,如果其他倉庫需要單獨(dú)配置,去掉--global重復(fù)以上操作即可,同理,可在對(duì)應(yīng)倉庫文件夾下看.gitconfig文件的配置信息(友情提示,這是個(gè)隱藏文件)。

生成SSH-key

配置完了git的提交人信息,我們?cè)诒镜厣蓚€(gè)ssh-key,用來驗(yàn)證提交者身份。

ssh-keygen -t rsa -C xxx@qq.com

然后在.ssh文件夾下找到id_rsa.pub文件,里面內(nèi)容復(fù)制到github的"setting"下的"SSH and GPG keys"的添加過程的輸入框里,用以生成ssh-key。

在github上實(shí)踐

在github上創(chuàng)建一個(gè)遠(yuǎn)程倉庫,登錄github網(wǎng)站,通過右上角"New respository"新建一個(gè)比如名為"git-test"的項(xiàng)目倉庫。我們打開項(xiàng)目倉庫的首頁,復(fù)制倉庫地址(既然配置了SSH,那就選擇SSH咯;當(dāng)然,也可以通過HTTP的來clone),可以通過git clone 命令將遠(yuǎn)程倉庫拉到本地。

這樣就把項(xiàng)目拉取到當(dāng)前文件夾下了,so easy~       之后,我們可以操作本地文件夾進(jìn)行增刪改查等操作,下面列出一些操作。

在操作之前,需要了解工作區(qū)和暫存區(qū)和版本庫的概念。

工作區(qū):電腦中的文件夾內(nèi)容

版本庫:工作區(qū)有一個(gè)隱藏目錄.git,這個(gè)不算工作區(qū),而是Git的版本庫。git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動(dòng)創(chuàng)建的第一個(gè)分支master,以及指向master的一個(gè)指針叫HEAD。

暫存區(qū):該內(nèi)容存在于隱藏的.git目錄下,可以簡(jiǎn)單理解為,需要提交的文件修改通通放到暫存區(qū),然后一次性提交暫存區(qū)的所有修改。

詳情點(diǎn)擊此鏈接,有圖有真相啊~

git基礎(chǔ)操作命令

文件操作

將文件添加到版本庫

git add TEST.md //添加了一個(gè)TEST.md文件

將版本庫中文件重命名

git mv TEST.md LALALA.md //改名:TEST => LALALA

將文件從版本庫刪除

git rm LALALA.md // 刪除LALAL.md 文件

查看操作記錄

git log  //如果覺得信息太多,可以加參數(shù)"--pretty=oneline",這樣就能夠輸出簡(jiǎn)短信息。

列出master分支的歷史操作

git log master 

列出某個(gè)文件的歷史操作

git log LALALA.md

然后在上一句操作中你會(huì)發(fā)現(xiàn),追溯LALALA文件的操作歷史的時(shí)候看不到它改名之前的歷史,怎么辦呢?

git log --follow LALALA.md //加上"--follow"參數(shù)會(huì)讓git在日志中內(nèi)容相關(guān)聯(lián)的整個(gè)歷史記錄

查看你的每一次操作命令

git reflog //列出每次你的操作命令,如:log、add、rm等

版本回退

git reset --hard HEAD^ //HEAD表示當(dāng)前版本,加^表示上一個(gè),加^^表示上上個(gè)...
git reset --hard commit-id //我們可以通過git log拿到指定版本的提交id,并且返回到指定版本

查看工作區(qū)狀態(tài)

git status //可看出是否對(duì)文件進(jìn)行修改

將修改提交到暫存區(qū)

git add fileName //添加修改的文件
git commit -m "message" //提交修改的文件,并且輸入修改信息

將暫存區(qū)的文件提交到遠(yuǎn)程倉庫

git push (master) //不填則默認(rèn)提交到當(dāng)前分支,也可提交到指定分支

查看工作區(qū)與版本庫中最新版本之間的不同

git diff HEAD fileName //當(dāng)文件在工作區(qū)修改后還未提交到版本庫

丟棄在工作區(qū)所做的修改

git checkout -- index.html //丟棄對(duì)index.html的修改

將遠(yuǎn)程倉庫的修改拉取到本地

git fetch (master) //不填則默認(rèn)拉取當(dāng)前分支的最新修改,也可指定需要拉取的分支,fetch之后并不會(huì)合并修改
git pull (master) //不填則默認(rèn)拉取當(dāng)前分支的最新修改,也可指定需要拉取的分支,pull之后合并修改

分支操作

分支是在軟件項(xiàng)目中啟動(dòng)一條單獨(dú)的開發(fā)線的基本方法,使得開發(fā)能夠在多個(gè)方向上同時(shí)進(jìn)行,分支一般會(huì)被調(diào)解并與其他分支合并,用來合并不同的開發(fā)。通俗來講,相當(dāng)于將一個(gè)大任務(wù)分解成多個(gè)小任務(wù),分給多人同時(shí)進(jìn)行處理,完了再組合到一起,于是完成了個(gè)大任務(wù)。

創(chuàng)建分支

git branch dev //創(chuàng)建了一個(gè)dev分支,然而并沒切換到這個(gè)分支上

切換分支

git checkout dev //切換到dev分支上

創(chuàng)建并且切換分支

git checkout -b dev //創(chuàng)建了一個(gè)dev分支,并且切換到這個(gè)分支上

打了一遍上面的命令,然后屁顛屁顛跑去github刷新看分支,然而并沒有,少年莫慌,那是因?yàn)槟氵€沒將分支提交到遠(yuǎn)程倉庫~

將分支放到遠(yuǎn)程倉庫

git push origin dev //好了,將dev分支提交到遠(yuǎn)程倉庫了,然后又跑去刷新了github,這次終于看到分支的存在了

查看分支

git branch  //帶星號(hào)的是當(dāng)前分支,加參數(shù)"-r"查看遠(yuǎn)程分鐘,"-a"查看所有分支

合并分支

注:首先明確目前在哪個(gè)分支上,不可以在當(dāng)前分支上將此分支合并到其他分支。

git merge dev //假如我現(xiàn)在在master分支上,然后合并了dev分支

通常合并分支的時(shí)候,git使用Fast-forward模式,我們可以在合并的時(shí)候使用參數(shù)"--no-ff"禁用該模式

git merge --no-ff -m "" dev //這樣的合并會(huì)創(chuàng)建一個(gè)新的commit

這時(shí)分支合并了,然后你會(huì)發(fā)現(xiàn)分支依然存在,怎么辦呢?

刪除分支

git branch -d dev //刪除dev分支
git branch -D dev //強(qiáng)制刪除dev分支

這時(shí)候問題又來了,去github刷新看dev分支還是存在的...

刪除遠(yuǎn)程分支

git push origin --delete dev //刪除了遠(yuǎn)程倉庫中的dev分支

刪除不存在對(duì)應(yīng)本地分支的遠(yuǎn)程分支

git remote prune origin

刪除不存在對(duì)應(yīng)遠(yuǎn)程分支的本地分支

git fetch -p 

查看分支合并流程圖

git log --graph //明確的看到何時(shí)創(chuàng)建/修改/合并分支

標(biāo)簽操作

標(biāo)簽可以簡(jiǎn)單的看做是一個(gè)標(biāo)識(shí)點(diǎn)或者參考點(diǎn)。它是個(gè)靜態(tài)的名字,不隨時(shí)間的推移而改變。而分支是動(dòng)態(tài)的,且隨著你每次的提交而移動(dòng)。他們之間看起來相似,但我們需要分清楚他們,且勿將其混淆。

創(chuàng)建一個(gè)標(biāo)簽

git tag v0.1 // 創(chuàng)建一個(gè)標(biāo)簽,名為v0.1=> version 0.1

將標(biāo)簽推到遠(yuǎn)程倉庫

git push origin v0.1

一次性推送所有標(biāo)簽

git push origin --tags

刪除本地標(biāo)簽

git tag -d v0.1 //刪除名為v0.1的標(biāo)簽

刪除遠(yuǎn)程倉庫的標(biāo)簽

git push origin :refs/tags/v0.1

進(jìn)度暫存操作(類似游戲的存檔)

git提供一個(gè)"存檔"功能。比如,當(dāng)你正在改一個(gè)功能的時(shí)候,臨時(shí)需要修改另一個(gè)功能,而且比較重要,而又不能直接checkout丟棄當(dāng)前的修改,這時(shí)候git提供的"存檔"就好用了。可以將之前的修改暫時(shí)存起來,把工作區(qū)恢復(fù)到干凈的環(huán)境供你修改另一個(gè)功能。

創(chuàng)建一個(gè)"存檔"

git stash //暫時(shí)存儲(chǔ)了當(dāng)前的操作進(jìn)度

查看"存檔"的列表

git stash list

查看"存檔"內(nèi)容

git stash show stash@{index} //查看相對(duì)索引的存檔內(nèi)容,不加stash@{index}則默認(rèn)是最近的"存檔"

恢復(fù)"存檔"

git stash apply stash@{index} //恢復(fù)相對(duì)索引的存檔內(nèi)容,不加stash@{index}則默認(rèn)是最近的"存檔"

恢復(fù)之后會(huì)發(fā)現(xiàn),這個(gè)"存檔"還在存檔列表中,簡(jiǎn)直跟玩rpg游戲一樣么~

刪除"存檔"

git stash drop stash@{index} //刪除相對(duì)索引的存檔內(nèi)容,不加stash@{index}則默認(rèn)是最近的"存檔"

清除所有"存檔"

git stash clear //畢竟一個(gè)個(gè)drop太累

給命令配置別名

如果你嫌一些命令麻煩或者太長(zhǎng)或者不好記等等...

git config --global alias.cmt commit

然后你就可以使用"git cmt"代替"git commit"了。

刪除別名

打開.gitconfig文件,找到[alias]的內(nèi)容,刪除對(duì)應(yīng)別名的行內(nèi)容即可

.gitignore文件

可以在文件夾下添加.gitignore文件,告訴git在執(zhí)行命令的時(shí)候忽略一些內(nèi)容。

具體操作:打開.gitignore,在后面一行添加需要忽略的內(nèi)容。

文件夾: 如"src/" //忽略src文件夾下的所有文件

文件:如"*.jpg" //忽略以jpg為后綴的文件

...

向git求助

git help //列出參數(shù)列表及命令列表
git help command //打開該命令的html文檔
git command --help //打開該命令的html文檔

總結(jié)

以上所述是小編給大家介紹的Git的簡(jiǎn)單理解及基礎(chǔ)操作命令,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 推薦四款可視化工具(解決99%的可視化大屏需求)

    推薦四款可視化工具(解決99%的可視化大屏需求)

    這篇文章主要介紹了推薦四款可視化工具(解決99%的可視化大屏需求),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2021-04-04
  • 使用git查看分支方式

    使用git查看分支方式

    這篇文章主要介紹了使用git查看分支方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 真?zhèn)戊o態(tài)區(qū)別方法分析

    真?zhèn)戊o態(tài)區(qū)別方法分析

    有些用戶覺得,偽靜態(tài)和真靜態(tài)實(shí)際被收錄量會(huì)相差非常大,其實(shí)不然,從你個(gè)人角度,你去判斷一下一個(gè)帖子到底是真靜態(tài)還是偽靜態(tài)?
    2010-01-01
  • 算法系列15天速成——第十三天 樹操作【下】

    算法系列15天速成——第十三天 樹操作【下】

    今天說下最后一種樹,大家可否知道,文件壓縮程序里面的核心結(jié)構(gòu),核心算法是什么?或許你知道,他就運(yùn)用了赫夫曼樹
    2013-11-11
  • 如何禁止瀏覽器使用后退按鈕功能

    如何禁止瀏覽器使用后退按鈕功能

    瀏覽器的后退按鈕使得我們能夠方便地返回以前訪問過的頁面,它無疑非常有用。但有時(shí)候我們不得不關(guān)閉這個(gè)功能,以防止用戶打亂預(yù)定的頁面訪問次序。
    2014-09-09
  • 基于Leaflet的VideoOverlay視頻圖層疊加實(shí)戰(zhàn)教程

    基于Leaflet的VideoOverlay視頻圖層疊加實(shí)戰(zhàn)教程

    這篇文章主要介紹了基于Leaflet的VideoOverlay視頻圖層疊加實(shí)戰(zhàn),本文首先介紹了DistortableVideo組件的相關(guān)知識(shí),它的github倉庫信息,相關(guān)源代碼的目錄說明,使用依賴信息,需要的朋友可以參考下
    2023-02-02
  • Linux/Ubuntu Git從安裝到使用的方法步驟

    Linux/Ubuntu Git從安裝到使用的方法步驟

    這篇文章主要介紹了Linux/Ubuntu Git從安裝到使用的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 解決SecureCRT通過SSH連接Ubuntu時(shí)vi命令有多余的m的問題

    解決SecureCRT通過SSH連接Ubuntu時(shí)vi命令有多余的m的問題

    小編遇到這樣一個(gè)問題用vi命令來編輯文件的時(shí)候,在開頭和結(jié)尾有多余的字母出現(xiàn):在開頭會(huì)有多余的“m”出現(xiàn),結(jié)尾有多余的“2m”,這篇文章主要介紹了解決SecureCRT通過SSH連接Ubuntu時(shí)vi命令有多余的m的問題,需要的朋友可以參考下
    2022-09-09
  • IE 瀏覽器安全級(jí)別詳情及區(qū)別小結(jié)

    IE 瀏覽器安全級(jí)別詳情及區(qū)別小結(jié)

    排查問題時(shí),定位到可能和當(dāng)前瀏覽器的安全級(jí)別設(shè)置有關(guān),順便整理了下Windows 7下IE9安全級(jí)別的詳情內(nèi)容,及各安全級(jí)別下的默認(rèn)設(shè)置差異
    2016-01-01
  • 低版本VS項(xiàng)目在VS2019無法正常編譯的問題

    低版本VS項(xiàng)目在VS2019無法正常編譯的問題

    這篇文章主要介紹了低版本VS項(xiàng)目在VS2019無法正常編譯的問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論