国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Git分布式版本控制系統(tǒng)與github

這篇具有很好參考價(jià)值的文章主要介紹了Git分布式版本控制系統(tǒng)與github。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

第四階段提升

時(shí) ?間:2023年8月29日

參加人:全班人員

內(nèi) ?容:

Git分布式版本控制系統(tǒng)與github

目錄

一、案例概述

二、版本控制系統(tǒng)

(一)?本地版本控制

(二)集中化的版本控制系統(tǒng)

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

三、 Git簡介

(一)概述

(二)Git發(fā)展史

(三)Git功能特性

四、GIT安裝部署

(一)案例環(huán)境

(二)安裝git

(三)Git命令常規(guī)操作

(四)?分支結(jié)構(gòu)

(五)windwos上Git的使用

五、GitHub托管服務(wù)

(一)注冊(cè)GitHub

(二)獲取Linux主機(jī)上的密鑰

(三)獲得Windows主機(jī)密鑰的方法

(四)創(chuàng)建倉庫

(五)在個(gè)人主機(jī)上進(jìn)行推送測(cè)試

(六)創(chuàng)建新文件,進(jìn)行拉取測(cè)試

(七)拉取文件測(cè)試


一、案例概述

????????在開發(fā)一個(gè)軟件項(xiàng)目時(shí),本地只有幾十行代碼或幾百行代碼時(shí)還可以維護(hù),但當(dāng)代碼達(dá)到一定的數(shù)量后或兩三個(gè)人共同開發(fā)一個(gè)項(xiàng)目時(shí),就很容易會(huì)出現(xiàn)代碼混亂、沖突、排錯(cuò)難等問題。

????????一旦開發(fā)完工以后發(fā)現(xiàn)整個(gè)項(xiàng)目運(yùn)行不了,提交的代碼也無法確認(rèn)到責(zé)任人,導(dǎo)致維護(hù)項(xiàng)目時(shí)需要花費(fèi)數(shù)倍的時(shí)間。為解決上述問題,版本控制系統(tǒng)應(yīng)運(yùn)而生。

????????版本控制是指對(duì)軟件開發(fā)過程中各種程序代碼、配置文件及說明文檔等文件變更的管 理,是軟件配置管理的核心思想之一。

二、版本控制系統(tǒng)

(一)?本地版本控制

????????本地版本控制系統(tǒng)許多人習(xí)慣用復(fù)制整個(gè)項(xiàng)目目錄的方式來保存不同的版本,或許還會(huì)改名加上備份時(shí)間以示區(qū)別。

????????這么做唯一的?好處就是簡單,但是特別容易犯錯(cuò)。有時(shí)候會(huì)混淆所在的工作目錄,一不小心會(huì)寫錯(cuò)文件或者覆蓋意想外的文件,無法識(shí)別文件中的修改。

Git分布式版本控制系統(tǒng)與github,git,分布式,github

(二)集中化的版本控制系統(tǒng)

????????如何讓處于不同系統(tǒng)上的開發(fā)者協(xié)同工作?于是,集中化的版本控制系統(tǒng)(Centralized Version ?Control Systems,簡稱?CVCS)應(yīng)運(yùn)而生。

????????這類系統(tǒng),諸如?CVS、Subversion(SVN)?以及Perforce?等,都有一個(gè)單一的集中管理的服務(wù)器,保存所有文件的修訂版本,而協(xié)同工作的人們都通過客戶端連到這臺(tái)服務(wù)器,取出最新的文件或者提交更新。多年以來,這已成為版本控制系統(tǒng)的標(biāo)準(zhǔn)做法。

Git分布式版本控制系統(tǒng)與github,git,分布式,github

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

????????在這類系統(tǒng)中,像Git、Mercurial、Bazaar?以及?Darcs?等,客戶端并不只提取最新版本的文件快照,而是把代碼倉庫完整地鏡像(克隆)下來。

????????這么一來,任何一處協(xié)同工作用的服務(wù)器發(fā)生故障,事后都可以用任何一個(gè)鏡像出來的本地倉庫恢復(fù)。因?yàn)槊恳淮蔚目寺〔僮?,?shí)際上都是一次對(duì)代碼倉庫的完整備份。

Git分布式版本控制系統(tǒng)與github,git,分布式,github

三、 Git簡介

Git分布式版本控制系統(tǒng)與github,git,分布式,github

官網(wǎng):https://git-scm.com

(一)概述

????????git是一個(gè)分布式版本控制軟件,最初由林納斯·托瓦茲(Linus Torvalds)創(chuàng)作,于2005年以GPL發(fā)布。最初目的是為更好地管理Linux內(nèi)核開發(fā)而設(shè)計(jì)。

Git?官方中文手冊(cè)?https://git-scm.com/book/zh/v2

(二)Git發(fā)展史

????????自2002年開始,林納斯·托瓦茲決定使用BitKeeper作為Linux內(nèi)核主要的版本控制系統(tǒng)用以維護(hù)代碼。因?yàn)锽itKeeper為專有軟件,這個(gè)決定在社區(qū)中長期遭受質(zhì)疑。在Linux社區(qū)中,特別是理查德·斯托曼與自由軟件基金會(huì)的成員,主張應(yīng)該使用開放源代碼的軟件來作為Linux核心的版本控制系統(tǒng)。林納斯·托瓦茲曾考慮過采用現(xiàn)成軟件作為版本控制系統(tǒng)(例如Monotone),但這些軟件都存在一些問題,特別是性能不佳?,F(xiàn)成的方案,如CVS的架構(gòu),受到林納斯·托瓦茲的批評(píng)。

????????2005年,安德魯·垂鳩寫了一個(gè)簡單程序,可以連接BitKeeper的存儲(chǔ)庫,BitKeeper著作權(quán)擁有者拉里·麥沃伊認(rèn)為安德魯·垂鳩對(duì)BitKeeper內(nèi)部使用的協(xié)議進(jìn)行逆向工程,決定收回?zé)o償使用BitKeeper的授權(quán)。Linux內(nèi)核開發(fā)團(tuán)隊(duì)與BitMover公司進(jìn)行蹉商,但無法解決他們之間的歧見。林納斯·托瓦茲決定自行開發(fā)版本控制系統(tǒng)替代BitKeeper,以十天的時(shí)間,編寫出第一個(gè)git版本。

????????Git 是一個(gè)開源的分布式版本控制系統(tǒng),用以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。

????????一個(gè)原始 Git 版本倉庫,可以讓其他主機(jī)克隆這個(gè)原始版本倉庫,從而使得一個(gè)Git 版本倉庫可以同時(shí)分布到不同的主機(jī)上,并且每臺(tái)主機(jī)的版本庫都是一樣的,并沒有主次之分,極大的保證了數(shù)據(jù)的安全性,并使得用戶能夠自主選擇 Git 服務(wù)器推送文件了,其實(shí)部署一個(gè) Git 服務(wù)器是一件非常簡單的事情。

????????如上所述,作為一個(gè)分布式的版本控制系統(tǒng),在 Git 中并不存在主庫這樣的概念。每一 份復(fù)制出的庫都可以獨(dú)立使用,任何兩個(gè)庫之間的不一致之處都可以進(jìn)行合并。

????????GitHub 是一個(gè)面向開源及私有軟件項(xiàng)目的托管平臺(tái),因?yàn)橹恢С?Git 作為唯一的版本庫格式進(jìn)行托管,故名 GitHub。GitHub 可以提供給用戶空間創(chuàng)建 Git 倉儲(chǔ),保存用戶的一些數(shù)據(jù)文檔或者代碼等。

????????GitHub 作為開源代碼庫以及版本控制系統(tǒng),目前擁有 140 多萬開發(fā)者用戶。隨著越多的應(yīng)用程序轉(zhuǎn)移到了云上,GitHub 已經(jīng)成為了管理軟件開發(fā)以及發(fā)現(xiàn)已有代碼的首選方法。

????????GitHub 可以托管各種 Git 庫,并提供一個(gè) Web 界面,但與其它像 SourceForge 或 Google Code 這樣的服務(wù)不同,GitHub 的獨(dú)特賣點(diǎn)在于從另外一個(gè)項(xiàng)目進(jìn)行分支的簡易性。為一個(gè)項(xiàng)目貢獻(xiàn)代碼非常簡單:首先點(diǎn)擊項(xiàng)目站點(diǎn)的“fork”的按鈕,然后將代碼檢出并將修改加入到剛才分出的代碼庫中,最后通過內(nèi)建的“pull request”機(jī)制向項(xiàng)目負(fù)責(zé)人申請(qǐng)代碼合并。

????????Gitlab 是一個(gè)基于 Git 的項(xiàng)目管理軟件,用于倉庫管理系統(tǒng)的開源項(xiàng)目。使用 Git 作為代碼管理工具,并在此基礎(chǔ)上搭建起來 Web 服務(wù)。

????????Git、Gitlab、Github 都是基于 Git 的,可以說是 Git 的衍生品。

(三)Git功能特性

克隆數(shù)據(jù)庫版本:從服務(wù)器上克隆數(shù)據(jù)庫(包括代碼和版本信息)到本機(jī)上;

提交代碼:在本機(jī)上自己創(chuàng)建的分支上提交代碼;

合并分支:在本機(jī)上合并分支;

拉取合并分支:新建一個(gè)分支,把服務(wù)器上最新版的代碼 Fetch 下來,然后跟自己的主分支合并;

代碼沖突解決:一般開發(fā)者之間解決沖突的方法,開發(fā)者之間可以使用 pull 命令解決沖突,解決完沖突之后再向主開發(fā)者提交補(bǔ)丁。

四、GIT安裝部署

(一)案例環(huán)境

IP地址

主機(jī)名

角色

192.168.100.131

gitserver

Git服務(wù)器

192.168.100.132

git

Git客戶端

(二)安裝git

1、初始環(huán)境

[root@gitclient ~]# systemctl stop firewalld

[root@gitclient ~]# iptables -F

[root@gitclient ~]# setenforce 0

Gitserver服務(wù)端:

Git分布式版本控制系統(tǒng)與github,git,分布式,github

Git客戶端:

Git分布式版本控制系統(tǒng)與github,git,分布式,github

2、yum安裝Git

# centos?自帶git

[root@gitclient ~]# rpm -q git

Git分布式版本控制系統(tǒng)與github,git,分布式,github

?#?安裝方法

[root@gitclient ~]# yum -y install git

Git分布式版本控制系統(tǒng)與github,git,分布式,github

3、?編譯安裝

編譯安裝可以安裝較新版本的git

Git下載地址:?https://github.com/git/git/releases

Git分布式版本控制系統(tǒng)與github,git,分布式,github

# 安裝依賴關(guān)系

[root@gitclient ~]# yum -y install curl-devel expat-devel gettext-devel ?openssl-devel zlib-devel

Git分布式版本控制系統(tǒng)與github,git,分布式,github

# 編譯安裝—服務(wù)端和客戶端

[root@gitclient ~]# wget https://github.com/git/git/archive/v2.22.0.tar.gz

[root@gitclient ~]# tar xf git-2.22.0.tar.gz -C /usr/src/

[root@gitclient ~]# cd /usr/src/git-2.22.0/

[root@git git-2.22.0]# make configure

[root@git git-2.22.0]# ./configure --prefix=/usr/local/git && make && make install

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git-2.22.0]# ln -sf /usr/local/git/bin/git /usr/bin/

[root@git git-2.22.0]# git --version

Git分布式版本控制系統(tǒng)與github,git,分布式,github

4、初次運(yùn)行?Git?前的配置

命令集

git config --global user.name "huyang" ?#配置git使用用戶

git config --global user.email "13363571949@163.com" ?#配置git使用郵箱

git config --global color.ui true ?#語法高亮

git config --list #查看全局配置

Git分布式版本控制系統(tǒng)與github,git,分布式,github

配置過程

[root@gitclient ~]# git config --global user.name "crushlinux" ?#配置git使用用戶

[root@gitclient ~]# git config --global user.email "crushlinux@163.com" ?#配置git使用郵箱

[root@gitclient ~]# git config --global color.ui true ?#語法高亮

[root@gitclient ~]# git config --list #查看全局配置

生成的配置文件

[root@gitclient ~]# cat .gitconfig

Git分布式版本控制系統(tǒng)與github,git,分布式,github

獲取幫助

使用Git時(shí)需要獲取幫助,有三種方法可以找到Git命令的使用手冊(cè):

例如,要想獲得配置命令的手冊(cè),執(zhí)行

[root@gitclient ~]# git help config

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@gitclient ~]# git config --help

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@gitclient ~]# man git config

Git分布式版本控制系統(tǒng)與github,git,分布式,github

5、初始化及獲取?Git?倉庫

Git服務(wù)器操作

[root@gitserver ~]# mkdir git_data.git

[root@gitserver ~]# cd git_data.git/

[root@gitserver git_data.git]# git --bare init

Git分布式版本控制系統(tǒng)與github,git,分布式,github

?Git客戶端操作

[root@gitclient ~]# ssh-keygen

[root@gitclient ~]# ssh-copy-id root@192.168.100.131

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@gitclient ~]# git clone root@192.168.100.131:/root/git_data.git

[root@gitclient ~]# cd git_data/

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

(三)Git命令常規(guī)操作

1、常用命令說明

命令

命令說明

add

添加文件內(nèi)容至?xí)捍鎱^(qū)(索引)

bisect

通過二分查找定位引入?bug?的變更

branch

列出、創(chuàng)建或刪除分支

checkout

檢出一個(gè)分支或路徑到工作區(qū)

clone

克隆一個(gè)版本庫到一個(gè)新目錄

commit

記錄變更到版本庫(本地)

diff

顯示提交之間、提交和工作區(qū)之間等的差異

fetch

從另外一個(gè)版本庫下載對(duì)象和引用

grep

輸出和模式匹配的行

init

創(chuàng)建一個(gè)空的

Git

版本庫或重新初始化一個(gè)已存在的版本庫

log

顯示提交日志

merge

合并兩個(gè)或更多開發(fā)歷史

mv

移動(dòng)或重命名一個(gè)文件、目錄或符號(hào)鏈接

pull

獲取并合并另外的版本庫或一個(gè)本地分支

push

更新遠(yuǎn)程引用和相關(guān)的對(duì)象

rebase

本地提交轉(zhuǎn)移至更新后的上游分支中

reset

重置當(dāng)前HEAD到指定狀態(tài)

rm

從工作區(qū)和索引中刪除文件

show

顯示各種類型的對(duì)象

status

顯示工作區(qū)狀態(tài)

tag

創(chuàng)建、列出、刪除或校驗(yàn)一個(gè)GPG簽名的?tag?對(duì)象

常用操作示意圖

Git分布式版本控制系統(tǒng)與github,git,分布式,github

文件的狀態(tài)變化周期

Git分布式版本控制系統(tǒng)與github,git,分布式,github

2、創(chuàng)建文件

[root@git git_data]# touch README

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# git add ./*

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# tree .git/

Git分布式版本控制系統(tǒng)與github,git,分布式,github

由工作區(qū)提交到本地倉庫

[root@git git_data]# git commit -m 'first commit'

Git分布式版本控制系統(tǒng)與github,git,分布式,github

查看git的狀態(tài)

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# git branch --unset-upstream

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# tree ?.git/

Git分布式版本控制系統(tǒng)與github,git,分布式,github

提交到遠(yuǎn)程倉庫

[root@git git_data]# git push root@192.168.100.131:/root/git_data.git

Git分布式版本控制系統(tǒng)與github,git,分布式,github

3、?添加新文件

git add ? #添加到暫存區(qū)域

git commit ? #提交git倉庫 -m 后面接上注釋信息,內(nèi)容關(guān)于本次提交的說明,方便自己或他人查看

修改或刪除原有文件

常規(guī)方法

git add

git commit

簡便方法

git commit ?-a ?-m "注釋信息"

-a?表示直接提交

4、刪除git內(nèi)的文件

命令說明:

沒有添加到暫存區(qū)的數(shù)據(jù)直接rm刪除即可。

已經(jīng)添加到暫存區(qū)數(shù)據(jù):

git rm --cached database?

#將文件從git暫存區(qū)域的追蹤列表移除(并不會(huì)刪除當(dāng)前工作目錄內(nèi)的數(shù)據(jù)文件)

git rm -f database

#將文件數(shù)據(jù)從git暫存區(qū)和工作目錄一起刪除

操作命令:

# 創(chuàng)建新文件

[root@git git_data]# touch 123

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# git add 123

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

#??刪除文件

[root@git git_data]# rm -f 123

[root@git git_data]# ls

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# git reset HEAD ./*

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# git rm 123

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

5、重命名暫存區(qū)數(shù)據(jù)

沒有添加到暫存區(qū)的數(shù)據(jù)直接mv/rename改名即可。

已經(jīng)添加到暫存區(qū)數(shù)據(jù):

操作命令

[root@git git_data]# git mv README NOTICE

[root@git git_data]# git status

[root@git git_data]# ls

Git分布式版本控制系統(tǒng)與github,git,分布式,github

6、查看歷史記錄

??git log?? #查看提交歷史記錄

??git log -2?? #查看最近幾條記錄

??git log -p -1? #-p顯示每次提交的內(nèi)容差異,例如僅查看最近一次差異

??git log --stat -2 #--stat簡要顯示數(shù)據(jù)增改行數(shù),這樣能夠看到提交中修改過的內(nèi)容,對(duì)文件添加或移動(dòng)的行數(shù),并在最后列出所有增減行的概要信息

??git log --pretty=oneline #--pretty根據(jù)不同的格式展示提交的歷史信息

??git log --pretty=fuller -2 #以更詳細(xì)的模式輸出提交的歷史記錄

??git log --pretty=fomat:"%h %cn"? #查看當(dāng)前所有提交記錄的簡短SHA-1哈希字串與提交著的姓名。

使用format參數(shù)來指定具體的輸出格式

格式

說明

%s

提交說明。

%cd

提交日期。

%an

作者的名字。

%cn

提交者的姓名。

%ce

提交者的電子郵件。

%H

提交對(duì)象的完整SHA-1哈希字串。

%h

提交對(duì)象的簡短SHA-1哈希字串。

%T

樹對(duì)象的完整SHA-1哈希字串。

%t

樹對(duì)象的簡短SHA-1哈希字串。

%P

父對(duì)象的完整SHA-1哈希字串。

%p

父對(duì)象的簡短SHA-1哈希字串。

%ad

作者的修訂時(shí)間。

操作命令

[root@git git_data]# git log

Git分布式版本控制系統(tǒng)與github,git,分布式,github

7、還原歷史數(shù)據(jù)

????????Git服務(wù)程序中有一個(gè)叫做HEAD的版本指針,當(dāng)用戶申請(qǐng)還原數(shù)據(jù)時(shí),其實(shí)就是將HEAD指針指向到某個(gè)特定的提交版本,但是因?yàn)镚it是分布式版本控制系統(tǒng),為了避免歷史記錄沖突,故使用了SHA-1計(jì)算出十六進(jìn)制的哈希字串來區(qū)分每個(gè)提交版本,另外默認(rèn)的HEAD版本指針會(huì)指向到最近的一次提交版本記錄,而上一個(gè)提交版本會(huì)叫HEAD^,上上一個(gè)版本則會(huì)叫做HEAD^^,當(dāng)然一般會(huì)用HEAD~5來表示往上數(shù)第五個(gè)提交版本。

git reset --hard?? hash

git reset --hard HEAD^? #還原歷史提交版本上一次

git reset --hard 3de15d4 #找到歷史還原點(diǎn)的SHA-1值后,就可以還原(值不寫全,系統(tǒng)會(huì)自動(dòng)匹配)

操作命令

[root@git git_data]# vim NOTICE

[root@git git_data]# cat NOTICE

[root@git git_data]# git commit -a -m 'test'

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# git log

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# git reset --hard 6a71d

[root@git git_data]# ls

[root@git git_data]# cat README

Git分布式版本控制系統(tǒng)與github,git,分布式,github

8、還原未來數(shù)據(jù)

????????什么是未來數(shù)據(jù)?就是你還原到歷史數(shù)據(jù)了,但是你后悔了,想撤銷更改,但是git ?log已經(jīng)找不到這個(gè)版本了。

git reflog #查看未來歷史更新點(diǎn)

操作命令

[root@git git_data]# git reflog

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# git reset --hard 94d46

[root@git git_data]# cat NOTICE

Git分布式版本控制系統(tǒng)與github,git,分布式,github

9、標(biāo)簽使用

前面回滾使用的是一串字符串,又長又難記。

git tag v1.0?? #當(dāng)前提交內(nèi)容打一個(gè)標(biāo)簽(方便快速回滾),每次提交都可以打個(gè)tag。

git tag????????? #查看當(dāng)前所有的標(biāo)簽

git show v1.0?? #查看當(dāng)前1.0版本的詳細(xì)信息

git tag v1.2 -m "version 1.2 release is test"? #創(chuàng)建帶有說明的標(biāo)簽,-a指定標(biāo)簽名字,-m指定說明文字

git tag -d v1.0?? #我們?yōu)橥粋€(gè)提交版本設(shè)置了兩次標(biāo)簽,刪除之前的v1.0

操作命令

[root@git git_data]# git reset --hard 6a71d

[root@git git_data]# git tag

[root@git git_data]# git tag v20230829

[root@git git_data]# git tag

[root@git git_data]# git reset --hard v20230829

Git分布式版本控制系統(tǒng)與github,git,分布式,github

10、對(duì)比數(shù)據(jù)

git diff可以對(duì)比當(dāng)前文件與倉庫已保存文件的區(qū)別,知道了對(duì)NOTICE作了什么修改

后,再把它提交到倉庫就放?多了。

[root@git git_data]# echo "hello,gitserver" >> README

[root@git git_data]# git diff README

Git分布式版本控制系統(tǒng)與github,git,分布式,github

(四)?分支結(jié)構(gòu)

????????在實(shí)際的項(xiàng)目開發(fā)中,盡量保證master分支穩(wěn)定,僅用于發(fā)布新版本,平時(shí)不要隨便直接修改master分支里面的數(shù)據(jù)文件。

????????那在哪干活呢?干活都在dev分支上。每個(gè)人從dev分支創(chuàng)建自己個(gè)人分支,開發(fā)完合并到dev分支,最后dev分支合并到master分支。所以團(tuán)隊(duì)的合作分支看起來會(huì)像下圖那樣。

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# git branch linux

[root@git git_data]# git branch

[root@git git_data]# git checkout linux

[root@git git_data]# git branch

Git分布式版本控制系統(tǒng)與github,git,分布式,github

在linux分支進(jìn)行修改

[root@git git_data]# cat README

[root@git git_data]# echo "hello,github" >> README

[root@git git_data]# git add .

[root@git git_data]# git commit -m "github"

[root@git git_data]# git status

Git分布式版本控制系統(tǒng)與github,git,分布式,github

回到master分支

[root@git git_data]# git checkout master

[root@git git_data]# cat README

[root@git git_data]# git log -1

Git分布式版本控制系統(tǒng)與github,git,分布式,github

合并代碼

[root@git git_data]# git merge linux

[root@git git_data]# git status

[root@git git_data]# cat README

Git分布式版本控制系統(tǒng)與github,git,分布式,github

2、合并失敗解決

模擬沖突,在文件的同一行做不同修改

在master?分支進(jìn)行修改

[root@git git_data]# cat README

[root@git git_data]# echo "hello.error" >> README

[root@git git_data]# git commit -a -m "master error"

Git分布式版本控制系統(tǒng)與github,git,分布式,github

切換到linux分支

[root@git git_data]# git checkout linux

[root@git git_data]# cat README

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@git git_data]# echo "hello,linux" >> README

[root@git git_data]# git commit -a -m "linux"

Git分布式版本控制系統(tǒng)與github,git,分布式,github

回到master分區(qū),進(jìn)行合并,出現(xiàn)沖突

[root@git git_data]# git checkout master

[root@git git_data]# git merge linux

Git分布式版本控制系統(tǒng)與github,git,分布式,github

解決沖突

[root@git git_data]# vim README

Git分布式版本控制系統(tǒng)與github,git,分布式,github

#?手工解決沖突

[root@git git_data]# git commit -a -m "master merge"

Git分布式版本控制系統(tǒng)與github,git,分布式,github

3、刪除分支

????????因?yàn)橹耙呀?jīng)合并了linux分支,所以現(xiàn)在看到它在列表中。?在這個(gè)列表中分支名字前沒有?*?號(hào)的分支通??梢允褂?git branch -d?刪除掉;你已經(jīng)將它們的工作整合到了另一個(gè)分支,所以并不會(huì)失去任何東西。

查看所有包含未合并工作的分支,可以運(yùn)行?git branch --no-merged:

[root@git git_data]# git branch --no-merged

[root@git git_data]# git branch -d linux

[root@git git_data]# git branch

Git分布式版本控制系統(tǒng)與github,git,分布式,github

????????如果真的想要?jiǎng)h除分支并丟掉那些工作,如同幫助信息里所指出的,可以使用?-D?選項(xiàng)強(qiáng)制刪除它。

(五)windwos上Git的使用

windows?上git軟件網(wǎng)站?https://git-for-windows.github.io

軟件下載地址:

https://github.com/git-for-windows/git/releases/download/v2.22.0.windows.1/Git-2.22.0-64-bit.exe

創(chuàng)建新的倉庫

Git分布式版本控制系統(tǒng)與github,git,分布式,github

?定義倉庫的路徑

Git分布式版本控制系統(tǒng)與github,git,分布式,github

添加用戶信息(在?git bash中)

Crushlinux@DESKTOP-5JDO87L MINGW64 ~

$ git config ?--global user.email "crushlinux@163.com"

Crushlinux@DESKTOP-5JDO87L MINGW64 ~

$ git config ?--global user.name "crushlinux"

在git Gui?中添加用戶信息,添加一次就可

Git分布式版本控制系統(tǒng)與github,git,分布式,github

Git分布式版本控制系統(tǒng)與github,git,分布式,github

?在頁面中將數(shù)據(jù)配置好即可使用

Git分布式版本控制系統(tǒng)與github,git,分布式,github

五、GitHub托管服務(wù)

????????Github顧名思義是一個(gè)Git版本庫的托管服務(wù),是目前全球最大的軟件倉庫,擁有上百萬的開發(fā)者用戶,也是軟件開發(fā)和尋找資源的最佳途徑,Github不僅可以托管各種Git版本倉庫,還擁有了更美觀的Web界面,您的代碼文件可以被任何人克隆,使得開發(fā)者為開源項(xiàng)貢獻(xiàn)代碼變得更加容易,當(dāng)然也可以付費(fèi)購買私有庫,這樣高性價(jià)比的私有庫真的是幫助到了很多團(tuán)隊(duì)和企業(yè)。

(一)注冊(cè)GitHub

瀏覽器訪問github官網(wǎng)?:?https://github.com/?,點(diǎn)擊Sign up?進(jìn)行注冊(cè)

Git分布式版本控制系統(tǒng)與github,git,分布式,github

填寫個(gè)人信息,進(jìn)行注冊(cè)

Git分布式版本控制系統(tǒng)與github,git,分布式,github

輸入驗(yàn)證碼

Git分布式版本控制系統(tǒng)與github,git,分布式,github

輸入信息

Git分布式版本控制系統(tǒng)與github,git,分布式,github

選擇如下:

Git分布式版本控制系統(tǒng)與github,git,分布式,github

選擇倉庫類型,默認(rèn)免費(fèi),點(diǎn)擊底下Continue注冊(cè)

Git分布式版本控制系統(tǒng)與github,git,分布式,github

用戶創(chuàng)建完成,可以創(chuàng)建新的項(xiàng)目

Git分布式版本控制系統(tǒng)與github,git,分布式,github

添加密鑰

在github上添加一個(gè)新的ssh密鑰

?Git分布式版本控制系統(tǒng)與github,git,分布式,github

Git分布式版本控制系統(tǒng)與github,git,分布式,github

(二)獲取Linux主機(jī)上的密鑰

[root@gitserver ~]# ssh-keygen

[root@gitserver ~]# cat .ssh/id_rsa.pub

Git分布式版本控制系統(tǒng)與github,git,分布式,github

(三)獲得Windows主機(jī)密鑰的方法

Crushlinux@DESKTOP-5JDO87L MINGW64 ~

$ ssh-keygen.exe

Generating public/private rsa key pair.

Enter file in which to save the key (/c/Users/Crushlinux/.ssh/id_rsa):

Created directory '/c/Users/Crushlinux/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /c/Users/Crushlinux/.ssh/id_rsa.

Your public key has been saved in /c/Users/Crushlinux/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:IHhPxTKtHlNZx0kqvob90V5tN8IM0VQT4hZ7yWBkznc Crushlinux@DESKTOP-5JDO87L

The key's randomart image is:

+---[RSA 3072]----+

| ??????o.o.o+X.+.|

| ??. ?o.= ?o@ * o|

| ?. o o=. .. B =E|

| ??. ++o . ?o o .|

| ????..oS ?. ????|

| ?????.o . .+ ?. |

| ?????. + . .+..+|

| ??????. . o ...o|

| ?????????. . ???|

+----[SHA256]-----+

Crushlinux@DESKTOP-5JDO87L MINGW64 ~

$ cat .ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDHSP3L5h8irgkZe3snixWIDa4Q7JBQk0PzAoBQZPB1kgHuK5iZ4hY/mEqr/vegbWHdI0G5tYHRNi1PTnFrDSnjaIaFAoiuZt36aOUPmHpgmMHEV6hE3jeuoanK2LrIepVNvscwu15O8t2/dKc0An+x83miS5PRAojXj3BSQ1EsJ+LWmnl3W/UM6waVujmB7TihLYzPt8x2Mgi8jqvA6pgLwK/wdK+3pldSbTM3D3j8XLt2AXAPnkPa9C7HeUv7Tm905lbalRWmuhC/K2jc+WBXjbwc4xgjlLYtP5JjhGoecZ72CKCVVp1DN7Yz9Nb98rEzEsqTsvfvjVCrssmYDxSP2NRDWB8mkZw5XrKgnFRLuvpql2MPDAthWNYlZXH0RJ9yVHiqAN3E5PRuJhtFbSLJYRMNMmjkmptVwbjUYvpm3W9ZbAeP6z1ueJ9RGc1dwtBnYNN/PZlD/lqvJll+5t2c+V8xkStEEobQFg7aQSc+BU9ZAsdCL79veOHUtfiDh+k= Crushlinux@DESKTOP-5JDO87L

密鑰創(chuàng)建完成后進(jìn)行添加

Git分布式版本控制系統(tǒng)與github,git,分布式,github

密鑰添加成功

Git分布式版本控制系統(tǒng)與github,git,分布式,github

(四)創(chuàng)建倉庫

準(zhǔn)備工作已經(jīng)完畢,右上角點(diǎn)擊創(chuàng)建一個(gè)新的倉庫

Git分布式版本控制系統(tǒng)與github,git,分布式,github

創(chuàng)建倉庫,輸入個(gè)人信息

Git分布式版本控制系統(tǒng)與github,git,分布式,github

Git分布式版本控制系統(tǒng)與github,git,分布式,github

(五)在個(gè)人主機(jī)上進(jìn)行推送測(cè)試

[root@gitserver ~]# git config --global user.email "crushlinux13363571949root@gitserver ~]# git config --global user.name "huyang"

[root@gitserver ~]# git config --list

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@gitserver ~]# mkdir hy

[root@gitserver ~]# cd hy

[root@gitserver hy]# echo "# test" >> README.md

[root@gitserver hy]# git init

[root@gitserver hy]# git add README.md

[root@gitserver hy]# git commit -m "first

Git分布式版本控制系統(tǒng)與github,git,分布式,github

[root@gitserver hy]# git remote add origin git@github.com:huyang-Ada/test1.git

[root@gitserver hy]# git push -u origin master

Git分布式版本控制系統(tǒng)與github,git,分布式,github

Web訪問測(cè)試:

Git分布式版本控制系統(tǒng)與github,git,分布式,github

(六)創(chuàng)建新文件,進(jìn)行拉取測(cè)試

Git分布式版本控制系統(tǒng)與github,git,分布式,github

編輯內(nèi)容:

Git分布式版本控制系統(tǒng)與github,git,分布式,github

點(diǎn)擊確定

Git分布式版本控制系統(tǒng)與github,git,分布式,github

創(chuàng)建好后點(diǎn)擊下面的commit即可

Git分布式版本控制系統(tǒng)與github,git,分布式,github

github添加成功,進(jìn)行拉取測(cè)試

(七)拉取文件測(cè)試

查看目錄內(nèi)容

[root@gitserver hy]# pwd

[root@gitserver crushlinux]# ls

Git分布式版本控制系統(tǒng)與github,git,分布式,github

進(jìn)行拉取

[root@gitserver hy]# git pull

[root@gitserver hy]# ls

[root@gitserver hy]# cat abc.test

Git分布式版本控制系統(tǒng)與github,git,分布式,github文章來源地址http://www.zghlxwxcb.cn/news/detail-682426.html

到了這里,關(guān)于Git分布式版本控制系統(tǒng)與github的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 分布式版本控制系統(tǒng)git詳解

    是目前世界上最先進(jìn)的分布式版本控制系統(tǒng) git命令 很多人都知道,Linus在1991年創(chuàng)建了開源的Linux,從此,Linux系統(tǒng)不斷發(fā)展,已經(jīng)成為最大的服務(wù)器系統(tǒng)軟件了。 Linus雖然創(chuàng)建了Linux,但Linux的壯大是靠全世界熱心的志愿者參與的,這么多人在世界各地為Linux編寫代碼,那Lin

    2024年02月15日
    瀏覽(32)
  • Git分布式版本控制系統(tǒng)與github

    Git分布式版本控制系統(tǒng)與github

    第四階段提升 時(shí) ?間:2023年8月29日 參加人:全班人員 內(nèi) ?容: Git分布式版本控制系統(tǒng)與github 目錄 一、案例概述 二、版本控制系統(tǒng) (一)?本地版本控制 (二)集中化的版本控制系統(tǒng) (三)分布式版本控制系統(tǒng) 三、 Git簡介 (一)概述 (二)Git發(fā)展史 (三)Git功能特性

    2024年02月11日
    瀏覽(29)
  • Git分布式版本控制系統(tǒng)——Git常用命令(二)

    Git分布式版本控制系統(tǒng)——Git常用命令(二)

    五、Git常用命令————分支操作 同一個(gè)倉庫可以有多個(gè)分支,各個(gè)分支相互獨(dú)立,互不干擾 分支的相關(guān)命令,具體如下: git branch? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查看分支 git branch [name]? ? ? ? ? ? ? ? ? ?創(chuàng)建分支(name是分支名) git checkout [name]? ? ? ? ? ? ? ? 切

    2024年04月10日
    瀏覽(45)
  • Git是一個(gè)分布式版本控制系統(tǒng) 一.2

    Git是一個(gè)分布式版本控制系統(tǒng),用于跟蹤和管理代碼的變化。它最初由Linus Torvalds于2005年創(chuàng)建,并成為開源社區(qū)中最流行的版本控制系統(tǒng)之一。 Git的主要特點(diǎn)包括: 分布式:每個(gè)開發(fā)者都可以在本地?fù)碛型暾拇a倉庫,并可以獨(dú)立地進(jìn)行開發(fā)和版本控制。這意味著即使在

    2024年03月13日
    瀏覽(30)
  • Git 分布式版本控制系統(tǒng)基本概念和操作命令

    Git 分布式版本控制系統(tǒng)基本概念和操作命令

    目錄 Git 基本概念 功能特點(diǎn) 工作流程 操作命令 新建代碼庫 配置 增刪文件 代碼提交 分支 標(biāo)簽 查看信息 遠(yuǎn)程同步 撤銷 其他 小結(jié) Git 是一個(gè)開源的分布式版本控制系統(tǒng),用于跟蹤文件的變更歷史。它最初由 Linux Torvalds 設(shè)計(jì),用于 Linux 內(nèi)核的開發(fā),但由于其強(qiáng)大的功能和靈

    2024年03月27日
    瀏覽(55)
  • Git簡介與工作原理:了解Git的基本概念、版本控制系統(tǒng)和分布式版本控制的工作原理

    Git簡介與工作原理:了解Git的基本概念、版本控制系統(tǒng)和分布式版本控制的工作原理

    ???? 博主 libin9iOak帶您 Go to New World.??? ?? 個(gè)人主頁——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動(dòng)形象??簡單易學(xué)!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍》學(xué)會(huì)IDEA常用操作,工作效率翻倍~?? ???? 希望本文能夠給您帶來一定的幫助??文章粗淺,敬

    2024年02月16日
    瀏覽(25)
  • 2023 最新 Git 分布式版本控制系統(tǒng)介紹和下載安裝使用教程

    2023 最新 Git 分布式版本控制系統(tǒng)介紹和下載安裝使用教程

    Git 是一個(gè)開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或大或小的項(xiàng)目。 集中式和分布式的區(qū)別? 最常見的集中式版本控制系統(tǒng)是SVN,版本庫是集中放在中央處理器中的,而干活的時(shí)候,用的都是自己電腦,所以首先要從中央服務(wù)器那里得到最新的版本,然后開始

    2024年02月09日
    瀏覽(25)
  • 軟件測(cè)試/測(cè)試開發(fā)/全日制/測(cè)試管理丨Git分布式版本控制系統(tǒng)

    軟件測(cè)試/測(cè)試開發(fā)/全日制/測(cè)試管理丨Git分布式版本控制系統(tǒng)

    分布式版本控制: Git是一種分布式版本控制系統(tǒng),每個(gè)開發(fā)者都可以擁有完整的代碼倉庫的拷貝,不依賴中央服務(wù)器。這使得團(tuán)隊(duì)成員可以在本地獨(dú)立工作,并且不需要持續(xù)的網(wǎng)絡(luò)連接。 代碼倉庫: Git用來存儲(chǔ)代碼的地方被稱為倉庫(Repository)。倉庫可以分為本地倉庫和遠(yuǎn)程

    2024年01月18日
    瀏覽(31)
  • Linux 分布式版本控制系統(tǒng)git,手把手教向gitee上推代碼

    Linux 分布式版本控制系統(tǒng)git,手把手教向gitee上推代碼

    目錄 什么是git? 安裝git ?創(chuàng)建版本庫 工作區(qū)和版本庫、 向版本庫中添加文件 ?版本回退 遠(yuǎn)程操作 什么是git? ? Git 是一個(gè)開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。 linux是一個(gè)開源軟件,第一版本,第二版本不同怎么控制? ? Git 與常用的版本

    2024年02月10日
    瀏覽(95)
  • 【linux命令講解大全】015 .Git:分布式版本控制系統(tǒng)的先驅(qū)和常用命令清單(四)

    刪除遠(yuǎn)程分支: 刪除本地分支: 將本地分支提交到遠(yuǎn)程主機(jī)中: 當(dāng)遠(yuǎn)程分支已被刪除,但本地仍存在同名分支時(shí),使用以下命令自動(dòng)清理: 將分支合并到當(dāng)前分支: 重命名分支: 列出本地分支: 列出遠(yuǎn)程分支: 列出所有分支: 查看各個(gè)分支最后一個(gè)提交對(duì)象的信息:

    2024年02月10日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包