python3 入門筆記3 git版本控制

讓我們?cè)诒镜匦陆ㄒ粋€(gè)文件,最后上傳到剛剛創(chuàng)建的倉(cāng)庫(kù)中。

現(xiàn)在的你在 Linux 中創(chuàng)建文件,應(yīng)該很輕車熟路了吧:

mkdir Demo
cd Demo
gedit README.md

然后在打開的文件中輸入 #Demo,保存文件后關(guān)閉 gedit 。

圖片描述

cat 命令查看一下文件內(nèi)容:

圖片描述

創(chuàng)建文件 OK 了,但現(xiàn)在,Demo 目錄還只是一個(gè)普通的目錄,我們?nèi)绾斡?Git 來(lái)控制這個(gè)目錄?

你只需在 Demo 目錄中,輸入 git init 即可。

git init

這是 Git 的初始化操作,作用是將一個(gè)已存在文件夾,置于 Git 的控制管理之下。

ls -la 命令,會(huì)發(fā)現(xiàn)一個(gè)名叫 .git 的目錄被創(chuàng)建了,這意味著倉(cāng)庫(kù)初始化成功??梢赃M(jìn)入到 .git 目錄查看下有哪些內(nèi)容。

圖片描述

Git 提交代碼的基本流程是這樣的:

  • 創(chuàng)建或修改 本地文件
  • 使用 git add 命令,將創(chuàng)建或修改的文件添加到本地的 暫存區(qū),這里保存的是你的臨時(shí)更改
  • 使用 git commit 命令,提交文件到 本地倉(cāng)庫(kù)
  • 使用 git push 命令,將本地代碼庫(kù)同步到 遠(yuǎn)端倉(cāng)庫(kù)
圖片描述

目前為止,我們實(shí)現(xiàn)了第一步,創(chuàng)建了一個(gè)文件,我們的最終目標(biāo)是:將本地的 Demo 倉(cāng)庫(kù),同步到 GitHub 上的 Demo 倉(cāng)庫(kù)中。

?? git add

使用 git add + 文件名/目錄名 命令,可以將你需要同步的文件,添加到本地的暫存區(qū)。我們先進(jìn)入 DEMO 目錄,然后把 README.md 文件添加一下:

cd /home/shiyanlou/Demo
git add README.md

輸入 git status ,可以檢測(cè)當(dāng)前目錄和暫存區(qū)的狀態(tài),查看哪些修改被暫存了:

圖片描述

可以看到我們剛剛 add 的文件已經(jīng)被初始提交了。

?? git commit

git commit 提交是你工作的一個(gè)里程碑 —— 每當(dāng)你完成一些工作,都可以創(chuàng)建一次提交,保存當(dāng)前的版本。

這樣一來(lái),無(wú)論你何時(shí)修改了文件,都創(chuàng)建一個(gè)新版本的文件,你可以很方便地查看以往所有版本的文件和內(nèi)容。

在提交之前,你必須先設(shè)置你的名字和 email,這是你在提交 commit 時(shí)的簽名,每次提交記錄里都會(huì)包含這些信息。

使用 git config 命令進(jìn)行配置:

git config --global user.name "YourName"
git config --global user.email "YourEmail@xxx.com"

完成配置后,我們可以創(chuàng)建提交了,請(qǐng)輸入:

git commit -m "first commit"

commit 的語(yǔ)法結(jié)構(gòu)是 git commit -m "注釋",通過(guò)上個(gè)命令,你創(chuàng)建了一條注釋為 “first commit” 的 Git 提交。

圖片描述

?? 注意:

每次提交,你都必須用 -m + '注釋' 編輯注釋信息 。它不僅能協(xié)助我們辨別不同的版本,而且能讓你理解,自己當(dāng)時(shí)對(duì)文件做了什么修改。

比如當(dāng)你每次在文件中添加了新的代碼后,你可以寫一句提交信息:“添加了 XXX 代碼” —— 當(dāng)你一個(gè)月后回來(lái)看提交記錄或者 Git 日志 時(shí),你還能知道當(dāng)時(shí)做了什么。

終于到了激動(dòng)人心的時(shí)刻,我們要把本地倉(cāng)庫(kù)提交到遠(yuǎn)端倉(cāng)庫(kù)(即 Github 倉(cāng)庫(kù))中。

?? 連接 Github 倉(cāng)庫(kù)

使用如下命令,將本地倉(cāng)庫(kù)連接到 GitHub 倉(cāng)庫(kù)中:

git remote add origin 倉(cāng)庫(kù)鏈接

倉(cāng)庫(kù)鏈接請(qǐng)?jiān)谶@里復(fù)制,并用剪切板功能粘貼進(jìn)去:

圖片描述

我們分析一下這個(gè)命令,首先 remote 的意思是遠(yuǎn)程

圖片描述

add 很容易明白 —— 添加。git remote add 表示通知 Git 去添加一個(gè)遠(yuǎn)程倉(cāng)庫(kù),后面接上的 origin 是這個(gè)倉(cāng)庫(kù)的小名,方便以后溝通,通常默認(rèn)用 origin 來(lái)表示;最后再接上遠(yuǎn)程倉(cāng)庫(kù)的地址,即你剛剛創(chuàng)建的 Github 倉(cāng)庫(kù)鏈接。

圖片描述

?? push 命令

push 顧名思義,就是推送, 使用 push 可以把本地倉(cāng)庫(kù)推送到遠(yuǎn)端倉(cāng)庫(kù)中。

具體命令如下:

git push origin master

執(zhí)行后,GitHub 服務(wù)器 需要驗(yàn)證你的身份,按提示輸入你的用戶名和密碼即可完成 push 同步。

?? 注意:在 Linux 中輸入密碼是不可見的,輸完后直接按回車鍵即可。

圖片描述

接下來(lái)就是見證奇跡的時(shí)刻 —— 再刷新你的 Github 倉(cāng)庫(kù),就會(huì)發(fā)現(xiàn)多了這些東西:

圖片描述

??分支的概念:分支在多人協(xié)作中經(jīng)常會(huì)被用到,但前期我們用不到這個(gè)功能,為了不給你增加認(rèn)知負(fù)擔(dān),這里就先不講了。你只需知道 Git 管理的項(xiàng)目進(jìn)程中,有一條默認(rèn)的主分支 - master 即可。(想象 Git 是一棵樹,master 就是樹干,樹干上還可以生出很多分支來(lái),如 master 2.0、master 3.0 等)

本節(jié)實(shí)驗(yàn)最后一個(gè)知識(shí)點(diǎn)是 git clone 命令,它可以幫你拷貝一個(gè) Git 倉(cāng)庫(kù)到本地,讓自己能夠查看該項(xiàng)目,或者進(jìn)行修改。

圖片描述

如果你想要復(fù)制一個(gè)項(xiàng)目,看看代碼,或者把自己的遠(yuǎn)程倉(cāng)庫(kù)復(fù)制到本地,可以執(zhí)行命令:

git clone [url]

[url] 指的就是你想復(fù)制的倉(cāng)庫(kù),我們?cè)?github.com 上提供了一個(gè)名字為 gitproject 的公開倉(cāng)庫(kù), 供大家測(cè)試,現(xiàn)在你要把這個(gè)倉(cāng)庫(kù)復(fù)制到實(shí)驗(yàn)環(huán)境中,只需輸入:

cd /home/shiyanlou/
git clone https://github.com/shiyanlou/gitproject

操作完成后,會(huì)發(fā)現(xiàn) /home/shiyanlou 目錄下多了一個(gè) gitproject 文件夾,這個(gè)文件夾里的內(nèi)容就是我們剛剛 clone 下來(lái)的代碼。

圖片描述

回顧一下本節(jié)實(shí)驗(yàn)學(xué)到的內(nèi)容:

  • 版本控制
  • Git 和 Github 的歷史
  • 在 GitHub 創(chuàng)建倉(cāng)庫(kù)
  • 添加修改到暫存區(qū)
  • 提交代碼
  • 同步遠(yuǎn)程倉(cāng)庫(kù)

之后,請(qǐng)你把這些操作整理在腦圖中,類似這樣:

圖片描述

?? 綜合練習(xí)

現(xiàn)在有 Github 賬戶,為何不把這幾天的學(xué)習(xí)記錄下來(lái)呢?

你可以在 Github 中新開一個(gè)倉(cāng)庫(kù),起名為「Louplus」,然后把這幾天的筆記或腦圖都放進(jìn)去,這樣做的好處是:

  • 方便之后查閱
  • 漂亮的學(xué)習(xí)記錄,可以激勵(lì)你以后的學(xué)習(xí)
  • 這將是你未來(lái)求職最好的證明

我們?yōu)槟銣?zhǔn)備了四張從 Linux 到 Python 到 Git 的學(xué)習(xí)腦圖,請(qǐng)你試著用今天學(xué)到的內(nèi)容,上傳到 Louplus 的倉(cāng)庫(kù)中:

?? 步驟:

  1. Github 的個(gè)人主頁(yè)中新建一個(gè)倉(cāng)庫(kù),命名為 Louplus

  2. 復(fù)制倉(cāng)庫(kù)鏈接,在實(shí)驗(yàn)環(huán)境中,將該倉(cāng)庫(kù)克隆到本地
    圖片描述
  3. 進(jìn)入本地的倉(cāng)庫(kù)目錄,輸入以下命令,下載我們之前的學(xué)習(xí)腦圖(可以用剪切板一口氣把四行命令粘貼進(jìn)去):

wget https://labfile.oss.aliyuncs.com/courses/1330/linux.png
wget https://labfile.oss.aliyuncs.com/courses/1330/python1.png
wget https://labfile.oss.aliyuncs.com/courses/1330/python2.png
wget https://labfile.oss.aliyuncs.com/courses/1330/git.png

  1. 使用 git add --all 命令,添加倉(cāng)庫(kù)內(nèi)的所有文件

  2. 使用 git commitgit remote、git push 命令,將本地倉(cāng)庫(kù)同步到 Github 中

完成后,再次刷新你的 Github 倉(cāng)庫(kù),4 張圖片就這么被上傳了~

圖片描述

最后,不要忘了做我們的最終挑戰(zhàn)~

最終挑戰(zhàn)很簡(jiǎn)單:請(qǐng)你把上個(gè)挑戰(zhàn)完成的代碼文件,傳到自己的 Github 上。

最終挑戰(zhàn)也很重要:從現(xiàn)在開始,就請(qǐng)養(yǎng)成良好的代碼上傳習(xí)慣,不管是學(xué)習(xí)中的代碼、挑戰(zhàn)中的代碼,都可以上傳到 Github 上,你的代碼倉(cāng)庫(kù)將是你未來(lái)的財(cái)富。

勝利就在前方,加油 ~

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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