溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Git中常見(jiàn)的操作有哪些

發(fā)布時(shí)間:2022-03-28 09:17:48 來(lái)源:億速云 閱讀:149 作者:小新 欄目:軟件技術(shù)

這篇文章給大家分享的是有關(guān)Git中常見(jiàn)的操作有哪些的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

Git版本控制

開發(fā)難題

在實(shí)際開發(fā)中我們會(huì)遇到一些問(wèn)題,電腦藍(lán)屏,代碼丟了,懊悔不?磁盤壞了,文件沒(méi)了,懊悔不?時(shí)間長(zhǎng)了,文件找不到了,懊悔不?手欠,之前代碼運(yùn)行好好的,非要去優(yōu)化下,結(jié)果還不如以前,信心滿滿,之前代碼沒(méi)保存,懊悔不?怎么解決呢?版本控制就可以解決這些難題了。

版本控制(Version Control System),它功能強(qiáng)大,不僅能備份你的文件,還可以實(shí)現(xiàn)很多:

  • 記錄文件的所有歷史變化

  • 錯(cuò)誤恢復(fù)到某個(gè)歷史版本

  • 多人協(xié)作開發(fā)編輯同一個(gè)文件

  • 實(shí)現(xiàn)功能差異版本(分支),如:mysql、mariadb、percona三個(gè)分支

主流的版本控制產(chǎn)品

名稱模型并發(fā)** 模式 **** 歷史 **模式變更** 范圍 **** 網(wǎng)絡(luò)協(xié)議 **** 原子 **提交性
CVSClient-serverMergeChangesetFilePserver,sshNo
SVNClient-server3-way merge, recursive merge, octopus mergeChangeset and SnapshotTreecustom (svn), custom (svn) over ssh, HTTP and SSL (usingWebDAV)Yes
GitDistributedMerge or lockSnapshotTreecustom, custom over ssh, rsync, HTTP/HTTPS, email, bundlesYes

簡(jiǎn)而言之,各有優(yōu)缺點(diǎn),git要配合github遠(yuǎn)程倉(cāng)庫(kù),可以避免分布式損壞。顯然最大的不同在于git是分布式的。svn有權(quán)限控制,避免全被clone克隆走。git適合純代碼,svn適合綜合性文檔管理,git+svn結(jié)合起來(lái),完美。

介紹

Git中常見(jiàn)的操作有哪些

Linus在1991年創(chuàng)建了開源的Linux,從此,Linux系統(tǒng)不斷發(fā)展,已經(jīng)成為最大的服務(wù)器系統(tǒng)軟件了。Linus雖然創(chuàng)建了Linux的核心,但Linux的壯大是靠全世界熱心的志愿者參與的,這么多人在世界各地為L(zhǎng)inux編寫代碼,那Linux的代碼是如何管理的呢?

事實(shí)是,在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的開源精神不符。不過(guò),到了2002年,Linux系統(tǒng)已經(jīng)發(fā)展了十年了,代碼庫(kù)之大讓Linus很難繼續(xù)通過(guò)手工方式管理了,社區(qū)的弟兄們也對(duì)這種方式表達(dá)了強(qiáng)烈不滿,于是Linus選擇了一個(gè)商業(yè)的版本控制系統(tǒng)BitKeeper,BitKeeper的東家BitMover公司出于人道主義精神,授權(quán)Linux社區(qū)免費(fèi)使用這個(gè)版本控制系統(tǒng)。

安定團(tuán)結(jié)的大好局面在2005年就被打破了,原因是Linux社區(qū)牛人聚集,不免沾染了一些梁山好漢的江湖習(xí)氣。開發(fā)Samba的Andrew試圖破解BitKeeper的協(xié)議(這么干的其實(shí)也不只他一個(gè)),被BitMover公司發(fā)現(xiàn)了(監(jiān)控工作做得不錯(cuò)?。?,于是BitMover公司怒了,要收回Linux社區(qū)的免費(fèi)使用權(quán)。Linus可以向BitMover公司道個(gè)歉,保證以后嚴(yán)格管教弟兄們,嗯,這是不可能的。實(shí)際情況是這樣的:Linus花了兩周時(shí)間自己用C寫了一個(gè)分布式版本控制系統(tǒng),這就是Git!一個(gè)月之內(nèi),Linux系統(tǒng)的源碼已經(jīng)由Git管理了!牛是怎么定義的呢?吃瓜群眾可以體會(huì)一下。

Git迅速成為最流行的分布式版本控制系統(tǒng),尤其是2008年,GitHub網(wǎng)站上線了,它為開源項(xiàng)目免費(fèi)提供Git存儲(chǔ),無(wú)數(shù)開源項(xiàng)目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。歷史就是這么偶然,如果不是當(dāng)年BitMover公司威脅Linux社區(qū),可能現(xiàn)在我們就沒(méi)有免費(fèi)而超級(jí)好用的Git了。

組成結(jié)構(gòu)圖

Git中常見(jiàn)的操作有哪些

  • 工作空間:用來(lái)保存項(xiàng)目的元數(shù)據(jù)和對(duì)象數(shù)據(jù)庫(kù)的地方。 這是 Git 中最重要的部分,從其它計(jì)算機(jī)克隆倉(cāng)庫(kù)時(shí),拷貝的就是這里的數(shù)據(jù)。

  • 本地索引:保存了下次將提交的文件列表信息,一般在 Git 倉(cāng)庫(kù)目錄中。有時(shí)候也被稱作"索引",不過(guò)一般說(shuō)法還是叫暫存區(qū)域。

  • 本地倉(cāng)庫(kù),之所以說(shuō)git 快,大部分提交都是對(duì)本地倉(cāng)庫(kù)而言的,不依賴網(wǎng)絡(luò),最后一次會(huì)推送的到遠(yuǎn)程倉(cāng)庫(kù)。

  • 遠(yuǎn)程倉(cāng)庫(kù):可以看做是github,它是一個(gè)遠(yuǎn)程倉(cāng)庫(kù),它提供web服務(wù)供大家方便下載、查看、提交、存儲(chǔ)。

命令速查

Git中常見(jiàn)的操作有哪些

常用命令

Git中常見(jiàn)的操作有哪些

  • 克隆倉(cāng)庫(kù)(第一次時(shí)) clone 克隆

  • 對(duì)工作目錄中文件新增、修改、刪除操作

  • 暫存文件,將文件的快照放入暫存區(qū) add 新增

  • 把暫存區(qū)的內(nèi)容提交到本地倉(cāng)庫(kù) commit 提交

  • 把本地倉(cāng)庫(kù)的內(nèi)容提交到遠(yuǎn)程倉(cāng)庫(kù) push 推送

  • 從遠(yuǎn)程倉(cāng)庫(kù)下載最新內(nèi)容 pull 拉取

碼云配置環(huán)境

注冊(cè)賬號(hào)

Git中常見(jiàn)的操作有哪些

每個(gè)人必須有自己的賬號(hào),先官網(wǎng)注冊(cè)賬號(hào):

https://gitee.com/

登錄

Git中常見(jiàn)的操作有哪些

安裝GIT

Git-2.27.0-64-bit,一路next,安裝完桌面右鍵菜單有下面兩項(xiàng),安裝完成。選擇Git Bash,進(jìn)入git客戶端。

Windows開始菜單:

Git中常見(jiàn)的操作有哪些

Git中常見(jiàn)的操作有哪些

設(shè)置字體

Git中常見(jiàn)的操作有哪些

Git中常見(jiàn)的操作有哪些

查詢git

Git中常見(jiàn)的操作有哪些

碼云創(chuàng)建倉(cāng)庫(kù)

創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)(在碼云官網(wǎng)上)

Git中常見(jiàn)的操作有哪些

Git中常見(jiàn)的操作有哪些
Git中常見(jiàn)的操作有哪些

創(chuàng)建本地倉(cāng)庫(kù)(在你的磁盤中)

創(chuàng)建測(cè)試文件, 并在本地倉(cāng)庫(kù)執(zhí)行以下命令:

git config --global user.name "cgblpx" #配置注冊(cè)時(shí)的用戶名
git config --global user.email "2250432165@qq.com"  #配置注冊(cè)時(shí)的郵箱
git config --list #檢查配置信息
mkdir j2ee
cd j2ee
git init								#初始化
在本地倉(cāng)庫(kù)中,創(chuàng)建文件1.txt
git add 1.txt						#新增文件到git中處理
git commit -m "first commit"			#提交,設(shè)置說(shuō)明信息
git remote add origin https://gitee.com/nutony/j2ee.git	#遠(yuǎn)程倉(cāng)庫(kù)
git push -u origin master #把本地倉(cāng)庫(kù)的資源 提交給Git服務(wù)器

第一次執(zhí)行會(huì)彈出下面的用戶名、密碼框,填寫碼云的賬號(hào)信息就可以

Git中常見(jiàn)的操作有哪些

刷新頁(yè)面,如果創(chuàng)建成功,Git上界面發(fā)生變化如下樣子,這樣環(huán)境就完成了

Git中常見(jiàn)的操作有哪些

每日任務(wù)

每日早上開始工作前拉取最新團(tuán)隊(duì)其他人提交的內(nèi)容,每日下班前提交可用的內(nèi)容

新文件

創(chuàng)建項(xiàng)目目錄,創(chuàng)建新文件,或者復(fù)制已有文件或者復(fù)制已有目錄:

Git中常見(jiàn)的操作有哪些

推送

把本地文件上傳到遠(yuǎn)程倉(cāng)庫(kù)中:

$ git add .								#添加當(dāng)前目錄下文件
$ git commit -m "j2ee part"				#提交,設(shè)置備注
$ git push -u origin master				#推送到遠(yuǎn)程倉(cāng)庫(kù)

Git中常見(jiàn)的操作有哪些

拉取/下載

把遠(yuǎn)程倉(cāng)庫(kù)中的內(nèi)容下載到本地:

$ git pull										#從服務(wù)器拉取最新內(nèi)容

Git中常見(jiàn)的操作有哪些

常見(jiàn)錯(cuò)誤

Authentication failed for

Git中常見(jiàn)的操作有哪些

任何路徑下輸入都可以:

git config --system --unset credential.helper

然后提交操作時(shí),會(huì)出現(xiàn)詢問(wèn)框,重新輸入用戶名提示

failed to push some refs to…

Git中常見(jiàn)的操作有哪些

這是是因?yàn)閞eadme.md 沒(méi)有存在在本地git中

git pull --rebase origin master #

$ git push -u origin master #推送到遠(yuǎn)程倉(cāng)庫(kù)

–rebase用在合并代碼的時(shí)候其作用就是在一個(gè)隨機(jī)創(chuàng)建的分支上處理沖突,避免了直接污染原來(lái)的分區(qū)。

fatal: remote origin already exists

1、先輸入$ git remote rm origin(刪除關(guān)聯(lián)的origin的遠(yuǎn)程庫(kù))

2、再輸入重新執(zhí)行 git push -u origin master

3、如果輸入第1步 還是報(bào)錯(cuò)的話,error: Could not remove config section 'remote.origin'. 我們需要修改gitconfig文件的內(nèi)容

4、找到你的github的安裝路徑,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc

5、找到一個(gè)名為gitconfig的文件,打開它把里面的[remote "origin"]那一行刪掉就好了!

SSL certificate problem: unable to get local issuer certificate

	--執(zhí)行命令解決: git config --global http.sslVerify false
	--重新push: git push -u origin master

郵箱是私有的報(bào)錯(cuò)

Git中常見(jiàn)的操作有哪些
需要在碼云上,把郵箱改成公開的才行
Git中常見(jiàn)的操作有哪些

IDEA整合Git

在Gitee創(chuàng)建新的倉(cāng)庫(kù)

在網(wǎng)頁(yè)中創(chuàng)建倉(cāng)庫(kù)名稱:cgb2109-3

進(jìn)入workspace

進(jìn)入workspace,再進(jìn)入你的項(xiàng)目目錄,直接執(zhí)行clone命令:

git clone https://gitee.com/cgblpx/cgb2109-3.git
也許:
需用執(zhí)行其他的賬號(hào)密碼等命令

打開IDEA的工程中,你會(huì)發(fā)現(xiàn)直接就能提交或者拉取代碼了

感謝各位的閱讀!關(guān)于“Git中常見(jiàn)的操作有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

git
AI