小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

git01-基操

 Coder編程 2022-08-13 發(fā)布于北京

git是個(gè)啥???

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

作者:林納斯.拖瓦茲 .....就是那個(gè)寫Linux系統(tǒng)的天才~

版本控制系統(tǒng)分類:

集中式:代碼集中存儲在中央服務(wù)器,開發(fā)者的客戶端只有部分自己的代碼,假如中央服務(wù)器出問題,會(huì)出現(xiàn)數(shù)據(jù)丟失。傳統(tǒng)的版本控制系統(tǒng):CVS SVN
分布式:每臺服務(wù)器都擁有所有代碼,任意一臺服務(wù)器崩潰,從其他服務(wù)器復(fù)制過來就好。

git的部署

先聲明自己的名字和郵箱

git config --global user.name "LF"
git config --global user.email "482929763@qq163.com" 

 創(chuàng)建版本庫

什么是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成一個(gè)目錄,這個(gè)目錄里面的所有文件都可以被Git管理起來,每個(gè)文件的修改、刪除,Git都能跟蹤,以便任何時(shí)刻都可以追蹤歷史,或者在將來某個(gè)時(shí)刻可以“還原”。

[root@git ~]# mkdir  /git
[root@git ~]# cd /git/

通過git init命令把這個(gè)目錄變成Git可以管理的倉庫:

[root@git git]# git init 
初始化空的 Git 版本庫于 /git/.git/

將文件添加到版本庫

首先這里再明確一下,所有的版本控制系統(tǒng),其實(shí)只能跟蹤文本文件的改動(dòng),比如TXT文件,網(wǎng)頁,所有的程序代碼等等,Git也不例外。版本控制系統(tǒng)可以告訴你每次的改動(dòng),比如在第5行加了一個(gè)單詞“Linux”,在第8行刪了一個(gè)單詞“Windows”。而圖片、視頻這些二進(jìn)制文件,雖然也能由版本控制系統(tǒng)管理,但沒法跟蹤文件的變化,只能把二進(jìn)制文件每次改動(dòng)串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統(tǒng)不知道,也沒法知道。

[root@git git]# vim readme.txt     #創(chuàng)建文件,模擬代碼
[root@git git]# cat readme.txt     #查看內(nèi)容
1

 1、上傳到暫存區(qū)

  2、提交到版本庫

[root@git git]# ls
readme.txt
[root@git git]# git add  readme.txt        #將readme.txt上傳到暫存區(qū)
[root@git git]# git commit -m "txt" readme.txt  #上傳readme.txt提交到git版本庫,-m“描述” 后邊可以接指定名稱,也可以不接
[master(根提交) 12a8c22] txt
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt

 版本回退

版本修改

[root@git git]# vim readme.txt      #添加2
[root@git git]# cat readme.txt 
1
2    
[root@git git]# git status              #查看git倉庫的狀態(tài)
# 位于分支 master
# 尚未暫存以備提交的變更:
#   (使用 "git add <file>..." 更新要提交的內(nèi)容)
#   (使用 "git checkout -- <file>..." 丟棄工作區(qū)的改動(dòng))
#
#	修改:      readme.txt
#
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
#git status命令可以讓我們時(shí)刻掌握倉庫當(dāng)前的狀態(tài),上面的命令輸出告訴我們,readme.txt被修改過了,但還沒有準(zhǔn)備提交的修改。           

 提交

[root@git git]# git add  readme.txt
[root@git git]# git commit  -m 'add 2' readme.txt
[master 5095b03] add 2
 1 file changed, 1 insertion(+)  

  我們工作不停的修改不停的提交,就和以前打游戲通關(guān)會(huì)自動(dòng)存檔一樣,隨時(shí)可以回到以前的關(guān)卡當(dāng)中!進(jìn)度不會(huì)丟失?。。?/p>

我們嘗試多修改幾次,并提交,順便鞏固前邊2個(gè)命令!

[root@git git]# cat readme.txt 
1
2
3
[root@git git]# git add  readme.txt
[root@git git]# git commit  -m "add 3"
#上述添加3
[root@git git]# vim readme.txt 
[root@git git]# cat readme.txt 
1
2
3
4
[root@git git]# git add  readme.txt
[root@git git]# git commit  -m "add 4"
[master 14340e6] add 4
 1 file changed, 1 insertion(+)
[root@git git]# 
#添加4

在實(shí)際工作中,我們腦子里怎么可能記得一個(gè)幾千行的文件每次都改了什么內(nèi)容,不然要版本控制系統(tǒng)干什么。版本控制系統(tǒng)肯定有某個(gè)命令可以告訴我們歷史記錄,在Git中,我們用git log命令查看:

[root@git git]# git log 
commit 14340e64b91877835d77d4e6ce69ab74822f44ef
Author: LF <482929763@qq163.com>
Date:   Fri Feb 12 21:12:02 2021 +0800

    add 4

commit 53546712103a56e5e42ede02fd7b62585f35396b
Author: LF <482929763@qq163.com>
Date:   Fri Feb 12 21:10:51 2021 +0800

    add 3

commit 5095b03aac0d16b232b7bc756180f3248c2ac44e
Author: LF <482929763@qq163.com>
Date:   Fri Feb 12 21:06:46 2021 +0800

    add 2

commit 12a8c2278d7fcb62f5db76807704e0a1eb9c5e04
Author: LF <482929763@qq163.com>
Date:   Fri Feb 12 21:00:25 2021 +0800

    txt
#上述我們可以看到我們的3次修改,最近的一次add 4,上上次add 3,上上上次add 2;
如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上--pretty=oneline參數(shù):

    [root@git git]# git log --pretty=oneline
   14340e64b91877835d77d4e6ce69ab74822f44ef add 4
   53546712103a56e5e42ede02fd7b62585f35396b add 3
   5095b03aac0d16b232b7bc756180f3248c2ac44e add 2
   12a8c2278d7fcb62f5db76807704e0a1eb9c5e04 txt

#回退環(huán)節(jié)

首先,Git必須知道當(dāng)前版本是哪個(gè)版本,在Git中,用HEAD表示當(dāng)前版本,也就是最新的提交14340e6...(注意我的提交ID和你的肯定不一樣),上一個(gè)版本就是HEAD^,上上一個(gè)版本就是HEAD^^,當(dāng)然往上100個(gè)版本寫100個(gè)^比較容易數(shù)不過來,所以寫成HEAD~100。

我們現(xiàn)在從add 4 回退到 add 3 就可以使用git reset命令:

[root@git git]# git reset --hard HEAD^
HEAD 現(xiàn)在位于 5354671 add 3
[root@git git]# cat readme.txt 
1
2
3
#回退成功
[root@git git]# git log     #查看當(dāng)前倉庫狀態(tài)
commit 53546712103a56e5e42ede02fd7b62585f35396b
Author: LF <482929763@qq163.com>
Date:   Fri Feb 12 21:10:51 2021 +0800

    add 3

commit 5095b03aac0d16b232b7bc756180f3248c2ac44e
Author: LF <482929763@qq163.com>
Date:   Fri Feb 12 21:06:46 2021 +0800

    add 2

commit 12a8c2278d7fcb62f5db76807704e0a1eb9c5e04
Author: LF <482929763@qq163.com>
Date:   Fri Feb 12 21:00:25 2021 +0800

    txt
#這是你會(huì)發(fā)現(xiàn)以前add 4 版本不見啦!
#如果想恢復(fù)成上一版本也是有辦法滴!
#辦法其實(shí)還是有的,只要上面的命令行窗口還沒有被關(guān)掉,你就可以順著往上找啊找啊,找到那個(gè)add 4的commit id是14340e6...,于是就可以指定回到未來的某個(gè)版本:

[root@git git]# git reset --hard 14340e6
HEAD 現(xiàn)在位于 14340e6 add 4
[root@git git]# cat readme.txt
1
2
3
4

#id寫個(gè)前幾位就行了不用寫全

#但是還有個(gè)隱患!我下班回家啦?第二天我想回到上一天的版本那不是完?duì)僮恿藛??no!辦法總是有滴,如下:

[root@git git]# git reflog
14340e6 HEAD@{0}: reset: moving to 14340e6
5354671 HEAD@{1}: reset: moving to HEAD^
14340e6 HEAD@{2}: commit: add 4
5354671 HEAD@{3}: commit: add 3
5095b03 HEAD@{4}: commit: add 2
12a8c22 HEAD@{5}: commit (initial): txt

# git reflog會(huì)記錄你在git中的所有命令,那就沒問題,可以隨意的刪除代碼了~~~

git小結(jié):  

1、創(chuàng)建git倉庫、git init初始化

2、在git倉庫總寫代碼,通過git add xx 上傳至?xí)捍鎱^(qū),在下一步提交git commit “***” 到git倉庫?。?/p>

3、關(guān)于版本回退通過git reset  id即可!

  

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多