git的基本用法
版本控制:
版本控制:程序都有一個開發過程,可能一段時間才能更新一個功能,這就要求多個版本同時需要保存,而且一旦出錯需要馬上回滾到上一個版本,為了解決這樣的版本控制問題,產生了一些版本控制工具:VSS、CVS、SVN、Git等,其中Git屬於霸主地位。
一般版本控制工具包含兩部分:
- 客戶端(本地):本地編寫內容以及版本記錄
- 服務端(網盤):將內容和版本記錄同時保存在遠程
git介紹:
git是一個開源的分布式版本控制軟件,用有效高速的處理從很小到非常大的項目版本管理,可以做到版本控制,但只能講版本記錄保存到本機如需將文件及版本記錄保存到遠程,則需要結合github來使用。
github是一個基於git的遠程文件托管平臺(同GitCafe、BitBucket和GitLab等)。
不管是git還是gitlub它們都會在本地.git文件夾內維護歷時文件,gitlub除了在本地.git文件夾內維護,而且同時將歷時文件托管在遠程倉庫
其他:
集中式:遠程服務器保存所有版本,用戶客戶端一口某個版本
分布式:遠程服務器保存所有版本,用戶客戶端有所有版本
git的基本用法:
首先下載安裝git
官網下載地址:https://git-scm.com/downloads
具體命令,及操作流程:
首先進入需要版本控制的項目文件夾,然後鼠標右擊選擇Git Bash Here進入命令窗口
$ git init #git初始化 Initialized empty Git repository in E:/daimacunfangmulu/starkweight/.git/ $ git status #查看當前git狀態 On branch master No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) .idea/ app01/ app02/ db.sqlite3 manage.py stark/ starkweight/ templates/ nothing added to commit but untracked files present (use "git add" to track) $ git add db.sqlite3 #添加db.sqlite3文件到版本庫 $ git add . #添加當前目錄下所有文件到版本庫 $git commit -m ‘ 第一次提交‘ #提交到版本庫,並填寫版本說明,以便以後回滾
執行git commit 命令時,可能會提示進行用戶和郵箱的配置,改配置用於記錄當前版本由哪個用戶提交
- git config --global user.emial "[email protected]"
- git config --global user.name "kxl"
git 把管理的文件分為兩個區域四個狀態:
工作區:當前開發程序所在目錄稱為工作區,該區域的文件會有狀態的變化且狀態由git自動檢測,如果程序中文件做任何改變,文件狀態均會被檢測到,狀態可以用$git status命令來查看:
$ ls #查看原程序目錄 app01/ app02/ db.sqlite3 manage.py* stark/ starkweight/ templates/ $ git status #查看git當前狀態 On branch master nothing to commit, working tree clean $ touch 111.py #創建新文件 $ ls 111.py app02/ manage.py* starkweight/ app01/ db.sqlite3 stark/ templates/ $ git status #創建新文件後查看狀態會出現新文件而且顯示紅色證明工作區111.py發生變化 On branch master Untracked files: (use "git add <file>..." to include in what will be committed) 111.py nothing added to commit but untracked files present (use "git add" to track)
版本庫:工作區檢測到有文件發生變化,那麽意味著上一個版本之後對程序進行了修改,修改完成之後,可以做為下一版本進行提交,那麽久實執行$git add .將所有文件提交到暫存區,然後在執行$git commit -m ‘新版本‘提交到版本庫的分支即可,之後可使用$git log命令查看版本記錄
$ ls #查看原程序目錄 app01/ app02/ db.sqlite3 manage.py* stark/ starkweight/ templates/ $ git status #查看git當前狀態 On branch master nothing to commit, working tree clean $ touch 111.py #創建新文件 $ ls 111.py app02/ manage.py* starkweight/ app01/ db.sqlite3 stark/ templates/ $ git status #創建新文件後查看狀態會出現新文件而且顯示紅色證明工作區111.py發生變化 On branch master Untracked files: (use "git add <file>..." to include in what will be committed) 111.py nothing added to commit but untracked files present (use "git add" to track) $ git add . #將所有修改過的文件添加到暫存狀態 $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: 111.py #查看狀態時111.py的顏色變為綠色,表示在版本庫的從暫存狀態 $ git commit -m ‘新版本‘ #提交到版本庫的分支 [master 6d919cc] 新版本 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 111.py $ git log #查看歷史版本提交記錄(根據commit值進行回滾) commit 6d919cc6480379b1900442c024d1e86a778970dd (HEAD -> master) Author: kxl <[email protected]> Date: Thu Apr 12 19:01:43 2018 +0800 新版本 commit efa64a78aaefc881e0fa7d263c0ba0a3039130a3 Author: kxl <[email protected]> Date: Thu Apr 12 12:53:16 2018 +0800 第一次
以上已使用Git的四個命令,這四個命令已經可以在本地對項目版本進行管理了:
- git init 初始化
- git status 查看git當前狀態,哪些文件修改過嗎,哪些文件還未提交到版本庫等
- git add 文件名 將指定文件添加到版本庫的暫存狀態
- git commit -m ‘提交信息‘ 將暫存區的文件提交到版本庫的分支
- git log 查看提交記錄,即:歷史版本記錄
git的基本用法