相信許多人都對 GitHub 一點都不陌生,即便不是程序員,我們也經常可以在 GitHub 上下載到非常優秀的開源軟件。如果注意一下的話,我們會發現 GitHub 的名字是有 Git + Hub 組成的,而有一些編程基礎的同學可能也會聽說過 Git 或者 Git Repo 這類的詞匯。但,Git 和 Git Repo 指的究竟又是什麼呢?
Git 是一個用於追蹤團隊項目變化的開源應用,而 Git 又會將不同版本的項目儲存在名為 Git Repository(版本庫)的文件夾中。我們通過 Git 來進行版本控制,用戶可以在此刪除或復制已有的版本庫或為現有的項目創建新的版本庫,提高團隊之間的協作效率。
在這篇教程中,我們會說明 Git 版本庫是什麼以及如何通過 Git 命令行創建並運用這些文件。然後,我們會使用 Python在線運行一系列代碼,再通過 Git 來追蹤並保存這個 Python 項目中的所有歷史更改並同步到 GitHub 的版本庫中。
如果你已有 GitHub 賬號,那就可以跳過這一步。
如上文所述,Git Repository 會追蹤並保存 Git 項目文件中的所有更改歷史,然後把所有數據保存在 .git,文件中,也就是所謂的 Git 版本庫。我們通過 Git 來進行版本控制,用戶可以在此刪除或復制已有的版本庫或為現有的項目創建新的版本庫。
Git Repository 會追蹤並保存 Git 項目文件中的所有更改歷史,然後把所有數據保存在 .git 文件中,而根據用戶的權限,Git 版本庫一般可分為兩類:
開發團隊通過 Bare 版本庫來共享團隊成員所做出的變動。個體用戶無法修改或創建新版本的文件。
與 Bare 版本庫相對,Non-Bare 版本庫可以讓用戶隨意修改已有的文件並創建新版本。一般上,復制(Clone)的過程中創建的是 Non-Bare 版本庫。
Git 版本庫的獲取方式同樣也有兩種:
使用 Python 在線運行的編輯器,我們可以在下方的終端裡輸入 git init
就可以初始化版本庫了。
初始化完畢後,系統會自動創建一個名為 .git 的文件夾並開始追蹤項目中的變化,但我們只有在項目中做出改動,版本庫才會開始追蹤項目版本。
如果你使用其他的編輯器,你也許需要根據你的系統環境在終端中先輸入路徑,再輸入 git init
命令。例如:
cd C:/Users/Lightly/git_example
除了自建版本庫,我們也可以在 Python 在線運行的編輯器使用 git clone
命令從已有的版本庫中復制到我們的系統。我們需要在 [url]
部分輸入 Git 版本庫的網址,然後在 [directory]
部分指定版本庫名稱。如果版本庫名稱部分留空,那麼 Git 就會直接復制原版本庫的名稱。
大家可以通過 Python在線運行並克隆上面的 Git 版本庫:https://github.com/libgit2/pygit2
Git 提供多種不同的命令來創建不同版本的項目:
添加現有版本庫的用戶:
git config --global user.name "[your_name]"
為現有用戶添加郵箱:
git config --global user.email "[email_address]"
為常用的 Git 命令添加快捷指令:
git config --global alias.[alias_name] [git_command]
通過調整顏色讓 Git 文件改動變得更容易追蹤:
git config --global color.ui auto
注:如果去掉 --global
選項,那麼設置命令只會覆蓋本地的版本庫。此外,把 --global
選項替換為 --local
也可以達到同樣效果。
打開全球 Git 配置文件:
git config --global --edit
我們可以在 Python在線運行的編輯器終端中,通過 git add
或 git commit
命令來更新 Git 文件中的變化。其中,git add
命令將文件添加到暫存區,而 git commit
命令將階段性修改應用到版本庫中。
添加單個或多個文件:
git add [file/directory name]
添加所有文件:
git add --all
當我們把文件添加到暫存區後,我們還需要通過 git commit 命令把修改應用到版本庫中:
git commit -m "Committing files to the repository"
在 Git 中,我們可以通過 git push
和 git pull
命令來復制和分享版本庫:
git push [remote repository] [branch name]
git pull [remote repository]
項目介紹本論文主要論述了如何使用DJANGO語言開發一個On
CSDN Topic challenge No 1 peri