版本控制Git(完美整理版)

作者:愛(ài)你所AI來(lái)源:CSDN原文:https://blog.csdn.net/zzqhello2018/article/details/82354900版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!


一.Git是什么

版本控制工具!Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒(méi)有之一)。

這個(gè)軟件用起來(lái)就應(yīng)該像這個(gè)樣子,能記錄每次文件的改動(dòng)


這樣,你就結(jié)束了手動(dòng)管理多個(gè)“版本”的史前時(shí)代,進(jìn)入到版本控制的20世紀(jì)。

二.Git發(fā)展史

cvs --svn

在2002年以前,世界各地的志愿者把源代碼文件通過(guò)diff的方式發(fā)給Linus,然后由Linus本人通過(guò)手工方式合并代碼!你也許會(huì)想,為什么Linus不把Linux代碼放到版本控制系系統(tǒng)呢?不是有CVS、SVN這些免費(fèi)的版本控制系統(tǒng)嗎?因?yàn)長(zhǎng)inus堅(jiān)定地反對(duì) CVS和SVN,這些集中式的版本控制系統(tǒng)不但速度慢,而且必須聯(lián)網(wǎng)才能使用。有一些商用的版本控制系統(tǒng),雖然比CVS、SVN好用,但那是付費(fèi)的,和 Linux的開(kāi)源精神不符。

Linus花了兩周時(shí)間用C寫(xiě)了一個(gè)分布式版本控制系統(tǒng),這就是Git!一個(gè)月之內(nèi),Linux系統(tǒng)的源碼已經(jīng)由Git管理了!Git迅速成為最流?的分布式版本控制系統(tǒng),尤其是2008年,GitHub網(wǎng)站上線了,它為開(kāi)源項(xiàng)目免費(fèi)提供Git存儲(chǔ),無(wú)數(shù)開(kāi)源項(xiàng)目開(kāi)始遷移到GitHub,包括jQuery,PHP,Ruby等等。

三.git運(yùn)行方式

1.集中式VS分布式

Linus一直痛恨的CVS及SVN都是集中式的版本控制系統(tǒng),而Git是分布式版本控制

(1)集中式版本控制系統(tǒng)

版本庫(kù)是集中存放在中央服務(wù)器的,你干活的時(shí)候,用的都是自己的電腦,所以要先從 中央服務(wù)器取得最新的版本,然后開(kāi)始干 活,干完活了,再把自己的活推送給中央服 務(wù)器。中央服務(wù)器就好比是一個(gè)圖書(shū)館,你要改一本書(shū),必須先從圖書(shū)館借出來(lái),然后 回到家自己改,改完了,再放回圖書(shū)館。集中式版本控制系統(tǒng)最大的弊端就是必須聯(lián)網(wǎng) 才能工作,如果在局域網(wǎng)內(nèi)還好,速度夠快,可如果在互聯(lián)網(wǎng)上,遇到網(wǎng)速慢的話,可 能提交個(gè)10M的文件就需要5分鐘,這還不得把人給憋死啊。

(2)分布式版本控制系統(tǒng)根本

沒(méi)有“中央服務(wù)器”,每個(gè)?的電腦上都是一個(gè)完整的版本庫(kù),這 樣,你工作的時(shí)候, 就不需要聯(lián)網(wǎng)了,因?yàn)榘姹編?kù)就在你自己的電腦上。既然每個(gè)認(rèn)電腦上都有個(gè)完整的版 本庫(kù),那多個(gè)人如何協(xié)作呢?比如說(shuō)你在自己電腦上改 了文件A,你的同事也在他的 電腦上改了文件A,這時(shí),你們倆之間只需把各自的修改推送給對(duì)方,就可以互相看到 對(duì)方的修改了。和集中式版本控制系統(tǒng)相比,分布式版本控制系統(tǒng)的安全性要好很多, 因?yàn)槊總€(gè)電腦里都有完整的版本庫(kù),某個(gè)人的電腦壞掉了不要緊,而集中式版本控制 系統(tǒng)的中央服務(wù)器要是出了問(wèn)題,所有人都沒(méi)法干活了 。

git運(yùn)行方式如圖

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

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

工作區(qū)(Working Directory):就是你在電腦?能看到的目錄,

版本庫(kù)(Repository):工作區(qū)有個(gè)隱藏目錄“.git”,這個(gè)不算工作區(qū),而是Git的版本

庫(kù),Git的版本庫(kù)存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還

有Git為我們主動(dòng)創(chuàng)建的第一個(gè)分支master,以及指向master的一個(gè)指針叫HEAD。

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

第一步是用“git add”把文件添加進(jìn)去,實(shí)際上就是把文件修改添加到暫存區(qū);第二步 是用“git commit”提交更改,實(shí)際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支。因?yàn)?我們創(chuàng)建Git版本庫(kù)時(shí),Git主動(dòng)為我們創(chuàng)建了唯一一個(gè)master分支,所以,現(xiàn)在, commit就是往master分支上提交更改。你可以簡(jiǎn)單理解為,需要提交的?件修改通 通放到暫存區(qū),然后,一次性提交暫存區(qū)的所有修改。


四.常用git服務(wù)器

1.github==全球最大的開(kāi)源網(wǎng)站

2.碼云==免費(fèi)的,國(guó)內(nèi)的

3.coding==國(guó)內(nèi)的

####五.安裝Git

1.Linux系統(tǒng)安裝GIt

(1)方法一:yum安裝

yum search Git===查看是否有g(shù)it如果有就下載

Git --version====查版本

下最新版本官網(wǎng):git-scm.com

注意:默認(rèn)yum install git 安裝的為git 1.7.1版本

coding上面讓要使用的git版本為1.8.0以上,而且這個(gè)版本clone的時(shí)候有錯(cuò),所以需要手動(dòng)安裝git

(2)方式二:手動(dòng)安裝git

1、安裝git依賴包

????????yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

2、刪除已有的

????????git yum remove git

3、下載git源碼

????????wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz

????????tar -zxvf git-2.8.3.tar.gz

????????cd git-2.8.3

????????./configure prefix=/usr/local/git/

????????make && make install

4、將git指令添加到bash中,添加到環(huán)境變量中

????????vi /etc/bashrc? ?

????? ? 在最后一行介入

????????export PATH=$PATH:/usr/local/git/bin source /etc/bashrc 即可

? ? ? ? git --version git已經(jīng)安裝好,可以查看git版本?

2.window中安裝

這里我們演示W(wǎng)in系統(tǒng)的安裝,暫不考慮linux系統(tǒng)

下載安裝客戶端,安裝成功檢查是否安裝是否成功

**方法一:桌面右擊鼠標(biāo)出現(xiàn)git bash here**

????????在界面中輸入git --version顯示版本

**方法二:運(yùn)行cmd中輸入git --version顯示版本**

六、Git操作(以Github網(wǎng)站為例)

1.注冊(cè)并登錄Github網(wǎng)站

常規(guī)注冊(cè),注意一點(diǎn)需要郵箱認(rèn)證,否則不能創(chuàng)建項(xiàng)目

2.Github上創(chuàng)建倉(cāng)庫(kù)

????(1)新建一個(gè)倉(cāng)庫(kù)(Repositories),填寫(xiě)項(xiàng)目名和項(xiàng)目說(shuō)明,創(chuàng)建成功會(huì)生成一個(gè)網(wǎng)址

3.獲取項(xiàng)目—從服務(wù)器(云端)獲取項(xiàng)目到本地

本地找一個(gè)文件夾存放文件,然后右鍵打開(kāi)git執(zhí)行下面代碼,可將自己或者別人項(xiàng)目拿到本地

git clone https地址====將倉(cāng)庫(kù)克隆到本地

注意:【創(chuàng)建ssh密鑰】也可以在之前創(chuàng)建

創(chuàng)建的目的是為了保證安全性,只有具有密鑰的管理員才可上傳,其他人只可以下載

git中輸入指令可以生成密鑰===ssh-keygen,生成私鑰id_rsa和公鑰id_rsa.pub

將公鑰粘貼到網(wǎng)站中的

4.下拉項(xiàng)目更新本地

????在本地看到服務(wù)器最新的代碼(更新修改情況)

git pull ==== 從服務(wù)器更新代碼

5.本地推送到服務(wù)器

先在本地實(shí)施版本控制,即創(chuàng)建版本庫(kù),又叫倉(cāng)庫(kù)(repository)

????(1)創(chuàng)建倉(cāng)庫(kù)(版本庫(kù)),選擇一個(gè)合適的位置創(chuàng)建一個(gè)空目錄

mkdir +文件名 #文件名和路用英文,文件編輯可用notepad++

cd 文件名? ?

????(2)進(jìn)入目標(biāo)文件夾(想推送的文件所在文件夾)

git init 初始化Git倉(cāng)庫(kù),將這個(gè)目錄可以變?yōu)閭}(cāng)庫(kù)

git add +文件名 添加指定文件 (或者git add . 添加所有文件)

git status 查看當(dāng)前狀態(tài)

????(3)提交文件

git commit -m "我寫(xiě)的內(nèi)容原因"

(注意:提交原因必須寫(xiě),否則不能推送)

? (4)推送文件到服務(wù)器

git push

或者git push origin(服務(wù)器項(xiàng)目默認(rèn)名字) master

七.配置免密碼推送、

在網(wǎng)站上創(chuàng)建項(xiàng)目的時(shí)候會(huì)有兩種方式https和ssh

1、Linux中免密碼push和pull(使用https方式)

1、cd ~

2、vi .git-credentials

在里面寫(xiě)入? https://{username}:{password}@github.net

3、git config --global credential.helper store

2、windows系統(tǒng)中設(shè)置免密碼

windows下面的 ~ 就是這個(gè)目錄 C:\Users\ZBLi

【注】在windows下面創(chuàng)建以點(diǎn) 開(kāi)頭的文件,需要使用gitbash

打開(kāi)gitbash

然后和上面的操作一模一樣,完成后只有第一次需要輸入密碼

3、使用ssh方式免密碼登錄

1、使用 ssh-keygen 生成公鑰和私鑰,直接按3個(gè)回車即可

2、在? ~/.ssh/id_rsa.pub 里面的內(nèi)容復(fù)制到coding上面的個(gè)人設(shè)置公鑰中

3、git clone git@git.coding.net:phpmonkey/hehe.git? 即可

八、沖突解決

a和b同時(shí)修改同一個(gè)文件的同一行代碼就會(huì)產(chǎn)生沖突,如果a先push,那么b在push的時(shí)候就會(huì)報(bào)錯(cuò)。所以,為了保險(xiǎn)起見(jiàn),只要想向服務(wù)端push內(nèi)容,首先需要pull內(nèi)容,pull下來(lái)之后就會(huì)將服務(wù)端的代碼和本地的代碼進(jìn)行合并,如果有沖突,就會(huì)顯示沖突(git diff),如果沒(méi)有沖突,那就合并成功,然后再push上去即可,如果有沖突,商量解決沖突即可

git pull? ? 下拉文件

git diff? ? 查看沖突

九、分支學(xué)習(xí)

主分支:master,默認(rèn)分支

新建分支: git branch 分支名

查看分支: git branch

切換分支: git checkout 分支名

(實(shí)際項(xiàng)目中,每個(gè)人都要在自己的分支上工作,最后再合并到如果要在master

上面合并分支,需要先切回到master(master是默認(rèn)的主目錄)

合并分支: git merge +分支名字

刪除分支:git branch -d +分支名

(如果分支沒(méi)有合并不能刪除)

強(qiáng)制刪除: git branch? -D +分支名字

(如果分支沒(méi)有合并要?jiǎng)h除可以使用)

十、開(kāi)發(fā)步驟

一個(gè)master,一個(gè)dev

(1)新建一個(gè)dev

(2)切換到dev進(jìn)行開(kāi)發(fā)

(3)在dev添加文件并且提交文件

(4)切換到master分支

(5)將dev分支合并到master分支

? ? ? ? ? ? git merge dev

(6)推送master到服務(wù)端

(7)繼續(xù)切換到dev進(jìn)行開(kāi)發(fā)

十一、git常用操作小總結(jié)

git init ===== 建倉(cāng)庫(kù), 初始化Git倉(cāng)庫(kù)

git add 說(shuō)明.txt? =====? ? 把文件(這里指“說(shuō)明.txt")納入暫存區(qū)(還沒(méi)有真正納入版本控制,需要再一步確認(rèn))

git status =======查看暫存區(qū)狀態(tài)

git commit? -m '...'? 提交納入倉(cāng)庫(kù)(要寫(xiě)原因所以要加 -m)====git commit? -m? "說(shuō)明內(nèi)容"

注意:第一次提交需要先提交姓名和郵箱,否則會(huì)報(bào)錯(cuò)

git log? ===== 查看提交日志

git? checkout? - -? ====刪除文件還原:

git reset? -- hard? ? =====版本號(hào)碼(至少寫(xiě)五位)? ? ? 回到歷史版本號(hào)版本

git reflog? ? =======? 回到刪除的未來(lái)版本(過(guò)去將來(lái)時(shí))

十二、兩個(gè)小案例

1.在Linux本地做版本控制

(1)在用戶主目錄創(chuàng)建文件夾,命名為gitdemo====mkdir gitdemo

進(jìn)入文件夾cd? ? gitdemo--->ls查看

[root@izwz9ao2nl8wvmgaymeyr0z ~]# mkdir gitdemo

[root@izwz9ao2nl8wvmgaymeyr0z ~]# ls

abc? def? ? ? eakkkk.txt? git-2.18.0.tar? index.html? ? mycal.py? Python-3.6.5? ? ?

code? dump.rdb? git-2.18.0? gitdemo? ? ? ? index.html.1? mysql? ? Python-3.6.5.tar

(2) git初始化,將gitdemo文件夾變成git倉(cāng)庫(kù)==git init

[root@izwz9ao2nl8wvmgaymeyr0z ~]# git init

(3) 創(chuàng)建一個(gè)文本文件,命名為hello.txt,放入內(nèi)容==echo命令,用 >進(jìn)行重定向

echo"Hello,Git" > “hello.txt” 注意:輸出重定向符號(hào) >

=====將Hello,Git內(nèi)容顯示在hello.txt文件中,再次輸出內(nèi)容 不變

查看文件寫(xiě)好了沒(méi)有 cat hello.txt

可以再追加一點(diǎn)內(nèi)容

echo "goodbey world" >> hello.txt

(4)將內(nèi)容納入版本控制===git add+文件名

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git add hello.txt

完成這一步并沒(méi)有真正的納入版本控制,只是放到了暫存區(qū)(是隱藏文件)

通過(guò)命令ls -a 可以 查看該路徑下所有文件(包括隱藏文件,a代表all),看到隱藏文件…git

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls -a

.? ..? .git? hello.txt

【補(bǔ)充命令操作】

git rm --cashed +文件名 撤銷刪除文件( 內(nèi)容已經(jīng)放到暫存區(qū)了,把刪除的文件撤銷刪除,從暫存區(qū)拿回)

git checkout – hello.txt 工作區(qū)寫(xiě)的文件b還沒(méi)有放到暫存區(qū),把暫存區(qū)文件a拿回來(lái)回到工作區(qū),用暫行區(qū)內(nèi)容a覆蓋工作區(qū)內(nèi)容b(注意雙連接線兩側(cè)的空格

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# rm hello.txt

rm: remove regular file ‘hello.txt’? y

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls? ? ? 此時(shí)文件顯示為空

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git checkout -- hello.txt

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls? ? 此時(shí)文件恢復(fù)回來(lái)

hello.txt

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# cat hello.txt

==查看一下文本內(nèi)容,也沒(méi)有丟失,重新恢復(fù)

Hello,Git

goodbey World

(5)提交到=====git commit -m?提交(-m的目的是要求寫(xiě)原因)

[root@izwz9ao2nl8wv]# git commit -m "新增了hello.txt文件"

1 file changed, 2 insertions(+)

create mode 100644 hello.txt

【注意】第一次提交前需要進(jìn)行全局設(shè)置,用戶名和郵箱,名字任意

[root@izwz9aor0z gitdemo]# git config --global user.email

"333@example.com"

[root@izwzymeyr0z gitdemo]# git config --global user.name "hao"

(6)【補(bǔ)充】–其他操作

????????每次提交會(huì)產(chǎn)生一個(gè)日志git log?====查看日志

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git log

commit 37e58587772d49119a14b68decc02ed155945d06 (HEAD -> master)

Author: hao <333@example.com>

Date:? Mon Jul 30 09:47:47 2018 +0800

? ? 新增了hello.txt文件

查看歷史版本=======git reset --hard?+版本號(hào)(最少5位)可以找到歷史版本

方法二:**git reset --hard HEAD^**======回到當(dāng)前版本的上一個(gè)版本

【例】對(duì)這兩種方法演示

步驟a: 先復(fù)制一個(gè)文件,這利用之前的code文件下的share_fish為例

注: Linux cp命令主要用于復(fù)制文件或目錄。

格式:?cp ./code/test/ newtest====將code目錄下的test文件復(fù)制到新目錄newtest

[root@iaymeyr0z gitdemo]# cp ../code/share_fish.py ./ 將分魚(yú)文件復(fù)制到當(dāng)前文件

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls

hello.txt? share_fish.py

步驟b: 添加share_fish文件,并查狀**態(tài)git add和git status命令**

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git add share_fish.py

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git status

On branch master

Changes to be committed:

? (use "git reset HEAD <file>..." to unstage)

new file:? share_fish.py

步驟c:提交----此時(shí)文件夾下增加了分魚(yú)文件,此時(shí)提交git commit -m

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git commit -m "新增了share_fish.py文件"

[master f6fb32a] 新增了share_fish.py文件

1 file changed, 22 insertions(+)

create mode 100755 share_fish.py

步驟d:查看日志git log,此時(shí)出現(xiàn)了兩個(gè)版本

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git log

commit f6fb32a62450153c7213cd408c1aa1851268715d (HEAD -> master)

Author: hao <333@example.com>

Date:? Mon Jul 30 09:58:49 2018 +0800

? ? 新增了share_fish.py文件

commit 37e58587772d49119a14b68decc02ed155945d06

Author: hao <333@example.com>

Date:? Mon Jul 30 09:47:47 2018 +0800

? ? 新增了hello.txt文件

注意:最新的版本head指向誰(shuí)誰(shuí)就是最新版本

步驟e:回到剛才版本======git reset --hard HEAD^

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git reset --hard HEAD^

HEAD is now at 37e5858 新增了hello.txt文件

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git log

commit 37e58587772d49119a14b68decc02ed155945d06 (HEAD -> master)

Author: hao <333@example.com>

Date:? Mon Jul 30 09:47:47 2018 +0800

? ? 新增了hello.txt文件

注意;此時(shí)回到了之前的版本,想查看剛才的分魚(yú)文件用git log 查看不到,需要用過(guò)去將來(lái)式git reflog查看

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git reflog

37e5858 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^

f6fb32a HEAD@{1}: commit: 新增了share_fish.py文件

37e5858 (HEAD -> master) HEAD@{2}: commit (initial): 新增了hello.txt文件

步驟f:現(xiàn)在想從目前為止恢復(fù)回來(lái)share_fish狀態(tài),不能用git reset --hard HEAD^了,需要用歷史版本號(hào),通過(guò)上面的代碼我們找到文件代碼為f6fb32a

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git reset --hard f6fb32a

HEAD is now at f6fb32a 新增了share_fish.py文件

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls

hello.txt? share_fish.py

2.Linux本地和服務(wù)器項(xiàng)目做關(guān)聯(lián)(以coding網(wǎng)為例)

本地實(shí)施完想放到云端,(即本地做了版本控制,在云端建了項(xiàng)目)一般先在服務(wù)器將倉(cāng)庫(kù)建好,然后再克隆clone下來(lái),往里面加?xùn)|西。

(1)登錄coding新建項(xiàng)目,命名為gitdemo;生成項(xiàng)目的URL,復(fù)制一下

(2)加遠(yuǎn)端倉(cāng)庫(kù)

【命令】git remote add origin +url地址======關(guān)聯(lián)遠(yuǎn)端倉(cāng)庫(kù)(origin是默認(rèn)的)

root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git remote add origin https://git.coding.net/qingpingle/gitdemo.git

這樣本地和遠(yuǎn)端項(xiàng)目建立聯(lián)系

(3)配置環(huán)境變量(否則會(huì)報(bào)錯(cuò)):

進(jìn)主目錄 ---->s輸入vim .bash profile

在path后面添加====PATH=$PATH:/usr/local/python36/bin/usr/local/libexec/git-core

(4)將遠(yuǎn)端倉(cāng)庫(kù)的內(nèi)容pull到本地:

git pullhttps://git.coding.net/jackfrued/gitdemo.git master?

git pull =====從遠(yuǎn)端的master分支拉下來(lái)

將本地已經(jīng)實(shí)施了版本控制的內(nèi)容push到遠(yuǎn)端倉(cāng)庫(kù):

**【命令】git push origin master (注意第一次使用,需要-u,目的是為了本地和遠(yuǎn)端做合并)**

push? -u? (第一次要-u,這樣才能實(shí)現(xiàn)本地和遠(yuǎn)端的合并,下一次就不用 - u了)

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git push -u origin master Username for 'https://git.coding.net':

(5)部署公鑰(coding項(xiàng)目中左側(cè)部署公鑰選擇,將生成的密鑰可粘貼進(jìn)去)

【命令】ssh-keygen===生成密鑰對(duì)

輸入格式(注意空格和大小寫(xiě))=====ssh-keygen -t rsa -b 4096 -C"jackess@126.com"(郵箱地址)

注意: rsa(加密類型)

***4096(密碼的強(qiáng)度)**

此時(shí)在 cd /root/.ssh中會(huì)生成文件id_rsa

root@izwz9ao2nl8wvmgaymeyr0z ~]# cd .ssh

[root@izwz9ao2nl8wvmgaymeyr0z .ssh]# ls

authorized_keys? id_rsa? id_rsa.pub? known_hosts

cat id_rsa.pub

[root@izwz9ao2nl8wvmgaymeyr0z .ssh]# cat id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDerB2x/lVOBz5LjR+mhJpigcPXMSwHsiPdK81AKo7lagvP6250aNVoRTouhEaGtDg646CVTknXhF2L5nLMSLjCf3LwtOnu6/eI685LBJ/JCgyAdE73aBRR+mRLeQkRIAdPUy3oNOmnQ1UMX/TeJj3hBr+lDmxmNleSUle7TIl3hHDbQcNHTFnNgWAY4Qn/hujq6rp9fekd594YfuR8Ykd+tJjUHCteQElWRhSxckFQYbJ41d+XgugrVtO18PDZGEvkOTmimwzZylbwnCQDwbGiSDfXZZYuqNH0ZzyqJpyO9CUAh3GzVERuAsJM/f28VoyGRJQSwPivOXsVTgvGy/e4tDpYZ/BIcc03CArcxy8Ztvp2nJYXtca8EasDVwqXneB5nMQoYn2pJg5/SaPU+pPo+Nb4J6e1ea7WwcXjhgM3dpU3rhOko75ZPkX+RvaNH7jHrt5UXDO6uADKT7r9jnhhsznU41E+ifxXSZpg4nGS9DIKY2YyNUAiiQOpU0BsxrsZQTbue1gbbMN1/3CjkVTeX7nFVlBARpauQ3MSc8TwnFSm6CXnDbUfYkymzCzVAMJl7PhC6UQ8gHv4J+GychS/jkhbB2y9NPRTc1Bd6vG5anakRtG2DROOmVmFGQ0b9GegZ1FScL0MtNEwYsYqFrGQSeHp8opxVjsDeo6bOOI5Ww== SSSDAD@126.com

將公鑰粘貼到coding項(xiàng)目中“部署公鑰”

(5)克隆到本地并建分支

在coding網(wǎng)新建項(xiàng)目gitflow

復(fù)制Url

git clone +url=====克隆到本地

git branch new-cool-function(新分支名字) =====建分支,命名為new-cool-function

git checkout new-cool-function(分支名字) ====== 切換到分支(這里分支名字為new-cool-function)

git checkout -b issue -1120 =======創(chuàng)建并切換到這個(gè)分支,即如果沒(méi)有分支會(huì)直接建立這個(gè)分支(常用)

(實(shí)際項(xiàng)目中,每個(gè)人都要在自己的分支上工作,最后再合并到

如果要在master上面合并分支,需要先切回到master**(master是默認(rèn)的主目錄)**

git merge +分支名字 =======合并分支

git branch -d +分支名字======刪除分支

(如果分支沒(méi)有合并不能刪除)

git branch -D +分支名字====強(qiáng)制刪除

(如果分支沒(méi)有合并要?jiǎng)h除可以使用)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • GIT分布式版本控制系統(tǒng)最佳實(shí)踐 這篇文章來(lái)自于老男孩教育高級(jí)架構(gòu)師班12期的徐亮偉同學(xué)。 首先感謝老男孩架構(gòu)師班...
    meng_philip123閱讀 3,815評(píng)論 4 36
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,852評(píng)論 9 163
  • 以下筆記主要參考gitgot,大致了解git使用和原理。 第一部分我們從個(gè)人的視角去研究如何用好Git,并且揭示G...
    carolwhite閱讀 2,528評(píng)論 0 1
  • Git 是目前最流行的分布式版本控制系統(tǒng)之一。 版本控制指的是,記錄每次版本變更的內(nèi)容和時(shí)間等細(xì)節(jié),保留各版本之間...
    神齊閱讀 1,515評(píng)論 0 7
  • 教程網(wǎng)址:http://www.liaoxuefeng.com/wiki/0013739516305929606d...
    maybenai閱讀 761評(píng)論 0 1

友情鏈接更多精彩內(nèi)容