欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:小烏龜操作Git【全】

柚子快報邀請碼778899分享:小烏龜操作Git【全】

http://yzkb.51969.com/

目錄

小烏龜操作Git【全】

1、選擇小烏龜作為git客戶端2、軟件

2.1、軟件安裝

git安裝:TortoiseGit安裝:漢化包安裝3、Git

3.1、概念

3.2.1、版本庫和工作目錄3.2、Git的使用步驟

1、創(chuàng)建版本庫2、添加文件3.工作區(qū)和暫存區(qū)

默認分支master為什么需要暫存區(qū)4、修改文件

查看修改歷史

比較版本差異導出指定版本還原修改[風險版本和安全版本]5、刪除文件

刪除文件第一種方式刪除文件第二種方式4、將java工程提交到版本庫

1、創(chuàng)建版本庫2、將文件添加到版本庫

忽略文件3、提交代碼到本地倉庫5、以上步驟總結6、遠程倉庫

6.1、HTTP協(xié)議

6.1.1、使用tortoiseGit同步代碼到遠程倉庫6.2、SSH協(xié)議

6.2.1、SSH秘鑰生成6.2.2、秘鑰設置6.2.3、使用ssh協(xié)議同步到遠程倉庫

6.2.3.1、使用tortoiseGit同步本地代碼到遠程倉庫7、從遠程倉庫獲取克隆代碼8、從遠程倉庫獲取拉取代碼

8.1、版本沖突9、分支介紹

9.1、使用TortoiseGit實現(xiàn)分支管理

1、創(chuàng)建分支2、合并分支3、刪除分支總結

1、選擇小烏龜作為git客戶端

最近使用idea來操作git的時候頻頻出現(xiàn)問題,要么是提交代碼的時候少了某些文件,導致克隆下來無法運行,要么是提交速度太慢。

反正是在idea中操作git體驗非常不好,所以決定來換一種方式來操作git。從網(wǎng)上搜索一番之后,決定使用小烏龜來進行操作。

2、軟件

下面是全面使用流程,從git安裝、小烏龜安裝軟件到語言安裝包,這里做一個詳細的配置截圖。

2.1、軟件安裝

這里的軟件安裝包對應的百度網(wǎng)盤鏈接:

鏈接:百度網(wǎng)盤 請輸入提取碼?提取碼:16l0

git安裝:

除了修改一下對應的安裝路徑之外,全程不用做任何操作。永遠下一步,安裝完畢即可。

安裝完畢之后,輸入命令檢查一下是否安裝成功。

git --version

同時在空白區(qū)域右擊鼠標,可以看到git gui和git bash等命令。

在git bash窗口中操作等同于操作于Linux。

TortoiseGit安裝:

除了修改一下對應的安裝路徑、配置git的賬號和密碼之外,全程下一步;

在TortoiseGit安裝過程中有一步需要配置一下git的賬號和郵箱,隨便在一個位置打開Git bash ,輸入以下命令:

git config user.name

git config user.email

即可看到對應的賬號和郵箱,配置上即可。

在空白區(qū)域右擊,可以看到幾個TortoiseGit標志選項。

漢化包安裝

全程下一步即可。語言包安裝完畢后可以在TortoiseGit的”設置”中調(diào)整語言,設置language為中文簡體。

3、Git

Git是分布式版本控制系統(tǒng),那么它就沒有中央服務器的,每個人的電腦就是一個完整的版本庫,這樣,工作的時候就不需要聯(lián)網(wǎng)了,因為版本都是在自己的電腦上。既然每個人的電腦都有一個完整的版本庫,那多個人如何協(xié)作呢?比如說自己在電腦上改了文件A,可以將文件A提交到本地版本庫;其他人也在電腦上改了文件A,也可以將文件A提交到自己的本地版本庫,這時,你們倆之間只需把本地版本庫的內(nèi)容各自的修改推送給對方(使用共享版本庫,例如github、碼云...),就可以互相看到對方的修改了。

3.1、概念

3.2.1、版本庫和工作目錄

版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄里面的所有文件都可以被Git管理起來,每個文件的新增、修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原”。由于git是分布式版本管理工具,所以git在不需要聯(lián)網(wǎng)的情況下也具有完整的版本管理能力。

創(chuàng)建一個版本庫非常簡單,可以使用git bash也可以使用TortoiseGit。首先,選擇一個合適的地方,創(chuàng)建一個空目錄(F:\repository)。

這時候直接使用TortoiseGit來創(chuàng)建

版本庫創(chuàng)建成功,會在此目錄下創(chuàng)建一個.git的隱藏目錄(叫做版本庫),如下所示:

版本庫:這個.git就是版本庫,將來文件都需要保存到版本庫中。

工作目錄(工作區(qū)):包含“.git”目錄的目錄,也就是.git目錄的上一級目錄就是工作目錄。只有工作目錄中的文件或者是文件夾才能保存到版本庫中。

3.2、Git的使用步驟

1:創(chuàng)建版本庫

2:添加文件

3:修改文件

4:刪除文件

5:刪除文件并保留副本

6:將java工程提交到版本庫

7:忽略文件(提交版本庫時,可忽略某些文件)

1、創(chuàng)建版本庫

參考著上面的創(chuàng)建過程。

2、添加文件

在F:\repository目錄下創(chuàng)建一個mytest.txt文件

文本文件變?yōu)閹А?”號的圖標,表示該文件被放置到暫存區(qū)中:

3.工作區(qū)和暫存區(qū)

Git和其他版本控制系統(tǒng)如SVN的一個不同之處就是有暫存區(qū)的概念。

什么是工作區(qū)(Working Directory)?

? 工作區(qū)就是你在電腦里能看到的目錄,比如我的reporstory/repo1文件夾就是一個工作區(qū)。

什么是版本庫?

? 在這個工作區(qū)目錄中的“.git”隱藏文件夾是版本庫。

? Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動創(chuàng)建的第一個分支master,以及指向master的一個指針叫HEAD。【講到分支的時候再來說這個】

如下圖所示:

這里的stage就是暫存區(qū),master代表是主分支。

我們把文件往Git版本庫里添加的時候,是分兩步執(zhí)行的:

第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區(qū);

第二步是用git commit提交更改,實際上就是把暫存區(qū)的所有內(nèi)容提交到當前分支(默認是master)。【后期講解提交到分支上】

默認分支master

因為我們創(chuàng)建Git版本庫時,Git自動為我們創(chuàng)建了唯一一個master分支,所以,現(xiàn)在,git commit就是往master分支上提交更改。

把暫存區(qū)的所有內(nèi)容提交到當前分支可以簡單理解為,需要提交的文件修改通通放到暫存區(qū),然后,一次性提交暫存區(qū)的所有修改

查看版本庫,可點擊“版本庫瀏覽器”

mytest.txt就是在當前版本庫中提交到本地倉庫中的文件。

如果只是添加到了暫存區(qū),那么版本庫瀏覽器是看不到提交了的文件的。

為什么需要暫存區(qū)

我們這樣子來進行思考,要開發(fā)一個功能需要一周時間,所以每天都需要來做點事情,但是不可能說每天開發(fā)完成之后都要將代碼提交到遠程倉庫。如果別人拉取了最新代碼,而且進行了上線,那么將會來造成錯誤?!酒鋵嵾@里來使用分支介紹比較好】

所以需要一個臨時區(qū)域存儲的地方來存儲修改的代碼,然后在將代碼修改完成之后,提交到分支上去。這樣的一個流程來說是比較合適的。

4、修改文件

被版本庫管理的文件不可避免的要發(fā)生修改,此時只需要直接對文件修改即可。修改完畢后需要將文件的修改提交到版本庫。

對文件進行修改之后,沒有添加文件時候的添加到暫存區(qū),而且會有紅色的感嘆號標識已經(jīng)修改。

在mytest.txt文件上點擊右鍵,然后選擇“提交”:

查看修改歷史

在開發(fā)過程中可能會經(jīng)常查看代碼的修改歷史,或者叫做修改日志。來查看某個版本是誰修改的,什么時間修改的,修改了哪些內(nèi)容。

甚至如果修改有誤,用于恢復到歷史版本。

可以在修改的文件上點擊右鍵選擇“顯示日志”來查看文件的修改歷史。

比較版本差異

還可以看到兩次信息提交的版本差異,選中兩個文件,右擊:比較版本差異

導出指定版本

可以【導出】指定版本,如果編寫錯誤,用于還原到歷史版本。

導出指定版本之后,是一個文件,也就是對應著指定版本的文件。

還原修改[風險版本和安全版本]

這里分為兩種情況:

①沒有提交到本地倉庫就想還原;【無法還原已經(jīng)修改的內(nèi)容,沒有日志顯示】

②提交到本地倉庫之后還原;【安全,日志歷史中有顯示】

當文件修改后不想把修改的內(nèi)容提交,還想還原到未修改之前的狀態(tài)。此時可以使用“還原”功能

注意:此操作會撤銷所有未提交的修改,所以當使用還原操作是需要慎重慎重?。?!

但是我想針對的僅僅只是當前的這個文件的提交,不想波及到其他文件。那么還有很好的方式。

利用導出指定版本獲取得到指定版本的文件,進行覆蓋,就可以獲取得到指定版本的信息文件。

這樣子操作還沒有風險!非常方便使用。

通過日志歷史可以查看到對應的變化信息。

5、刪除文件

刪除文件第一種方式

需要刪除無用的文件時可以使用git提供的刪除功能直接將文件從版本庫中刪除。

如果真的想刪除文件,可以選擇【提交】

如果文件版本庫也被刪除,此時本地文件徹底丟失了。

刪除文件第二種方式

刪除文件并保留副本

此時文件刪除,但是本地參考仍然存在,執(zhí)行【提交】可以刪除版本庫的文件,但是mytest3.txt在本地會保留。

【提交】后,查看倉庫,可以查看本地是存在副本文件。

但是本地還是有這個文件的。

4、將java工程提交到版本庫

這里是為了做一個測試,隨便將一個HelloWorld的項目放到一個目錄下

1、創(chuàng)建版本庫

利用小烏龜右鍵創(chuàng)建版本庫

2、將文件添加到版本庫

點擊【確定】完成暫存區(qū)添加。

忽略文件

在此工程中,并不是所有文件都需要保存到版本庫中的例如“out”目錄及目錄下的文件就可以忽略。好在Git考慮到了大家的感受,這個問題解決起來也很簡單,在Git工作區(qū)的根目錄下創(chuàng)建一個特殊的.gitignore文件,然后把要忽略的文件名填進去,Git就會自動忽略這些文件。

如果使用TortoiseGit的話可以使用菜單項直接進行忽略。

選擇保留本地文件。完成后在此文件夾內(nèi)會多出一個.gitignore文件,這個文件就是文件忽略文件,當然也可以手工編輯。其中的內(nèi)容就是把.idea和out目錄忽略掉。

打開.gitinore文件

3、提交代碼到本地倉庫

將代碼添加到master分支上,其中.gitignore文件也需要添加到暫存區(qū),然后提交到版本庫。

然后通過版本庫瀏覽器來進行觀察,可以看到對應的java工程下的文件夾。

5、以上步驟總結

這里只是大致羅列了上面的信息。具體的可以參考上面的過程。

6、遠程倉庫

遠程倉庫可以是Github,可以是Gitee,也可以是自己公司自己搭建的。

那么必須要來介紹一下現(xiàn)在的遠程倉庫都支持的協(xié)議。HTTPS和SSH方式

6.1、HTTP協(xié)議

HTTP操作的時候每次提交的時候都需要傳輸賬號密碼校驗。這種比較簡單,就不來進行過多說明。

基于賬號+密碼

6.1.1、使用tortoiseGit同步代碼到遠程倉庫

在遠程倉庫中新建一個倉庫,然后使用https方式同步到遠程倉庫。

因為這里使用的是賬號密碼,所以這里不需要來進行配置。

這時候推送需要輸入“用戶名”和“密碼”,對應注冊遠程倉庫的賬號和密碼。但是一般來說,在控制面板中會來記錄一下對應的賬號密碼:

然后查看對應的倉庫中,是否有對應的代碼操作。

6.2、SSH協(xié)議

SSH 為 Secure Shell(安全外殼協(xié)議)的縮寫,由 IETF 的網(wǎng)絡小組(Network Working Group)所制定。SSH 是目前較可靠,專為遠程登錄會話和其他網(wǎng)絡服務提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠程管理過程中的信息泄露問題。

使用ssh協(xié)議通信時,推薦使用基于密鑰的驗證方式。你必須為自己創(chuàng)建一對密匙(第1步),并把公用密匙放在需要訪問的服務器上(第2步)。如果你要連接到SSH服務器上,客戶端軟件就會向服務器發(fā)出請求,請求用你的密匙進行安全驗證。服務器收到請求之后,先在該服務器上你的主目錄下尋找你的公用密匙,然后把它和你發(fā)送過來的公用密匙進行比較。如果兩個密匙一致,服務器就用公用密匙加密“質(zhì)詢”(challenge)并把它發(fā)送給客戶端軟件??蛻舳塑浖盏健百|(zhì)詢”之后就可以用你的私人密匙解密再把它發(fā)送給服務器。

來畫個圖具體說明一下這里的流程:

從上面可以看到,是基于公鑰私鑰的,而沒有基于賬號密碼。

6.2.1、SSH秘鑰生成

在windows下我們可以使用 Git Bash.exe來生成密鑰,可以通過開始菜單或者右鍵菜單打開Git Bash

git bash 執(zhí)行命令,生命公鑰和私鑰

命令: ssh-keygen -t rsa -C ‘郵箱’

其中’郵箱’為注冊github的登錄賬號的郵箱(也可使用github注冊的賬號)

當你創(chuàng)建ssh的時候:-t 表示密鑰的類型 ,-b表示密鑰的長度,-C 用于識別這個密鑰的注釋 ,這個注釋你可以輸入任何內(nèi)容,很多網(wǎng)站和軟件用這個注釋作為密鑰的名字

一路回車

執(zhí)行命令完成后,在window本地用戶.ssh目錄C:\Users\用戶名.ssh下面生成如下名稱的公鑰和私鑰:

6.2.2、秘鑰設置

密鑰生成后需要在遠程倉庫上配置公鑰才可以順利訪問。公鑰也就是id_rsa.pub文件中的內(nèi)容設置進去。

6.2.3、使用ssh協(xié)議同步到遠程倉庫

同步到遠程倉庫可以使用git bash也可以使用tortoiseGit

6.2.3.1、使用tortoiseGit同步本地代碼到遠程倉庫

由于TortoiseGit使用的ssh工具是“PuTTY”,git Bash使用的ssh工具是“openSSH”,如果想讓TortoiseGit也使用剛才生成的密鑰可以做如下配置:

右鍵,選擇“git 同步”

點擊管理:

【注意】:首先保證:ssh客戶端需配置成git使用的客戶端

也就是git的安裝目錄中的usr/bin下面的ssh.exe文件配置。

這里只是配置了工具連接遠程倉庫的方式,而并沒有指定遠程倉庫的地址。所以還需要來進行修改。

說明:

origin:可以隨便寫的

Url:遠程倉庫的地址

推送URL:也是相同的(可以不填寫)

Putty密鑰:選擇剛才生成的密鑰中的私鑰

私鑰可以直接選擇對應的文件進來即可。

【推送】:即push指令

查看遠程倉庫,即可看到最新的代碼。

很舒服?。。。?/p>

7、從遠程倉庫獲取克隆代碼

克隆遠程倉庫也就是從遠程把倉庫復制一份到本地,克隆后會創(chuàng)建一個新的本地倉庫。選擇一個任意部署倉庫的目錄,然后克隆遠程倉庫。使用遠程倉庫的mytest3為例,使用https協(xié)議克隆。

在任意目錄點擊右鍵:

查看:F/repository/clone_repo目錄

8、從遠程倉庫獲取拉取代碼

Git中從遠程的分支獲取最新的版本到本地有這樣2個命令:

1. git fetch:相當于是從遠程獲取最新版本到本地,不會自動merge(合并代碼)

2. git pull:相當于是從遠程獲取最新版本并merge到本地,上述命令其實相當于git fetch 和 git merge

在實際使用中,git fetch更安全一些,但是不常用!因為在merge前,我們可以查看更新情況,然后再決定是否合并。

git pull更常用,因為即得代碼又可以自動合并

如果使用TortoiseGit的話可以從右鍵菜單中點擊“拉取”(pull)或者“獲取”(fetch)

8.1、版本沖突

這個是在提交代碼中經(jīng)常遇到的事情。因為不同的開發(fā)人員再對同一個文件來進行操作之后,最終git也無法判斷到底使用哪個開發(fā)者提交的代碼來解決問題。所以交給開發(fā)者們自己來進行決定選擇哪個作為最終版本。

版本沖突是怎么產(chǎn)生的?分析一波:

開發(fā)者A需要在F文件做一些修改,開發(fā)者B也需要在F文件中做一些修改。

開發(fā)者A先提交,那么沒有任何問題;開發(fā)者B后提交,那么就有了問題。因為上一個版本中,開發(fā)者A\B的代碼是一樣的,但是對于開發(fā)者A來說,他只不過是在上一個版本中做了一個修改成為了一個新版本;而對于開發(fā)者B來說,也成了一個新版本,而不是在開發(fā)者A的基礎之上衍生的新版本。所以導致了沖突。

沖突也很好解決,到底是采用你的?采用我的?還是二者都采用?取決于開發(fā)者。

演示一下具體的案例:

這個時候,出現(xiàn)版本沖突,先拉?。╬ull)遠程倉庫的代碼到本地。

編輯沖突:

合并成一個新的文件。如上所示,將會合并成一個新文件。

這里的新文件,我們可以自行來進行修改即可?。。。?/p>

修改完成然后提交本地倉庫,再次提交到遠程倉庫中去。

9、分支介紹

在我們每次的提交,Git都把它們串成一條時間線,這條時間線就是一個分支。截止到目前,只有一條時間線,在Git里,這個分支叫主分支,即master分支。HEAD指針嚴格來說不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是當前分支。

如圖:只要有本地倉庫就有master分支:

一開始的時候,master分支是一條線,Git用master指向最新的提交,再用HEAD指向master,就能確定當前分支,以及當前分支的提交點:

那么也就是說,只要來操作分支,就可以知道當前分支的提交點在哪里。

切換分支,實際上就是切換HEAD的指向,指向當前分支最新的提交。

每次提交,master分支都會向前移動一步,這樣,隨著你不斷提交,master分支的線也越來越長。

當我們創(chuàng)建新的分支,例如dev時,Git新建了一個指針叫dev,指向master相同的提交,再把HEAD指向dev,就表示當前分支在dev上:

你看,Git創(chuàng)建一個分支很快,因為除了增加一個dev指針,改改HEAD的指向,工作區(qū)的文件都沒有任何變化!

不過,從現(xiàn)在開始,對工作區(qū)的修改和提交就是針對dev分支了,比如新提交一次后,dev指針往前移動一步,而master指針不變:

假如我們在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?最簡單的方法,就是直接把master指向dev的當前提交,就完成了合并:

所以Git合并分支也很快!就改改指針,工作區(qū)內(nèi)容也不變!

合并完分支后,甚至可以刪除dev分支。刪除dev分支就是把dev指針給刪掉,刪掉后,我們就剩下了一條master分支:

9.1、使用TortoiseGit實現(xiàn)分支管理

使用TortoiseGit管理分支就很簡單。

1、創(chuàng)建分支

在本地倉庫文件夾中點擊右鍵,然后從菜單中選擇“創(chuàng)建分支”:

如果想創(chuàng)建完畢后直接切換到新分支可以勾選“切換到新分支”選項或者從菜單中選擇“切換/檢出”來切換分支:

右鍵查看,再提交,指向新的分支。

2、合并分支

分支切換到dev后就可以對工作區(qū)的文件進行修改,然后提交到dev分支,原來的master分支不受影響。例如我們修改mytest.txt中的內(nèi)容,然后提交到dev分支。

注意:兩個分支在進行生成之后就是彼此獨立的。

切換到dev分支上,修改文件,同時提交到dev的分支上

切換到master分支,我們在修改mytest.txt,同時新建master.txt文件,并同時提交,發(fā)現(xiàn)沒有報錯信息。

不難發(fā)現(xiàn),我們切換到master分支/dev分支后還是原來的內(nèi)容:2個分支的開發(fā)互不影響,相互獨立的。

最后,我們將dev分支的內(nèi)容合并到master分支,當前分支為master。從右鍵菜單中選擇“合并”:

再查看mytest.txt、dev.txt、master.txt的內(nèi)容就已經(jīng)更新了:

解決沖突后提交即可:此時可以提交到主線上。

3、刪除分支

注意:如果當前分支為dev,則不能刪除dev。

右鍵選擇“切換/檢出”,選擇分支。

總結

柚子快報邀請碼778899分享:小烏龜操作Git【全】

http://yzkb.51969.com/

相關文章

評論可見,查看隱藏內(nèi)容
大家都在看:

本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18597923.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄