一、什麼是 Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
簡單來說 Git 就是一個版本控制工具!
二、Git 的安裝
下載地址: https://git-scm.com/download/win
在官網下載後,根據自身需求安裝即可。
三、Git 的常用指令
- 身份名稱配置:git config --global user.name (後接帶引號字符串爲配置名稱,否則爲查看)
- 身份郵箱配置:git config --global user.email (後接帶引號字符串爲配置郵箱,否則爲查看)
- 初始化倉庫:git init
- 提交本地項目到暫存區:git add (三種格式:+文件名/./文件名1 文件名2 )
- 提交項目到本地倉庫:git commit -m "提交的描述"
- 查看日誌:git log 或者 git log --pretty=oneline
- 查看歷史操作日誌:git reflog
- 查看一條歷史提交記錄:git log 提交id -1
- 查看這條歷史提交記錄具體修改的內容:git log 提交id -1 -p
- 版本回退:git reset --hard 提交id(至少前四位)
- 查看分支:git branch
- 創建分支:git branch 分支名
- 切換分支:git checkout 分支名
- 創建並切換分支:git checkout -b 分支名
- 合併分支:git merge 被合併的分支名
- 刪除分支:git branch -d 分支名
- 線上遠程倉庫克隆到本地:git clone 線上倉庫地址
- 本地倉庫推送到線上遠程倉庫:git push
- 線上遠程倉庫拉取項目到本地倉庫:git pull
- 創建.gitignore文件:touch .gitignore
- 查看文件修改情況:git status
- 查看文件更改的內容:git diff
- 查看具體哪個文件的更改內容:git diff 文件夾/文件名
四、Git 使用——配置身份(第一次安裝後配置一次即可)
1. 配置名稱與郵箱
在桌面(或其他空白地方)處右擊,選擇 Git Bash Here,輸入以下指令:
git config --global user.name “此處爲你的名稱”
git config --global user.email “此處爲你的郵箱”
2. 查看是否配置成功:
輸入以下指令:
git config --global user.name
git config --global user.email
五、Git 使用——本地使用
1. 創建本地文件倉庫
- 在合適的地方(路徑最好非中文)右擊 Git Bash Here 輸入 mkdir + 文件名 創建文件夾並進入。
- 輸入指令 git init 將這個文件夾初始化爲一個倉庫
2. 提交本地項目到暫存區
- 在該文件夾下創建自己的項目(以test1.txt文件爲例)
- 輸入指令 git add 將項目提交到暫存區
3. 提交暫存區項目到本地倉庫
- 輸入指令 git commit -m “提交的描述” 將項目提交到本地倉庫
4. 版本回退
- 查看日誌信息,獲取每次 commit 的 id(黃色的一長串)
輸入指令:git log 或者git log --pretty=oneline
- 輸入回退指令:git reset --hard 提交id(至少前四位)
- 當回退後再執行log指令,當前版本之後的提交id將無法獲得,想要查看以回到最新版本需要查看歷史操作日誌,輸入指令:git reflog
5. 分支操作
- 查看分支:git branch
- 創建分支:git branch 分支名
- 切換分支:(在不同的分支之間的操作互不影響)git checkout 分支名
- 合併分支:git merge 被合併的分支名
- 刪除分支:git branch -d 分支名 (想刪除該分支要先切換出去)
- 創建並切換分支:git checkout -b 分支名
六、Git 使用——配合 Github 使用
1. 在 Github 上創建倉庫
2. 將線上遠程倉庫克隆到本地,輸入指令:git clone 線上倉庫地址
3. 進入本地倉庫進行操作,如 五、Git 使用——本地使用 中所述
4. 將本地倉庫推送到線上遠程倉庫,使用指令:git push
- 首次往線上遠程倉庫提交項目時需要鑑權,打開本地倉庫隱藏文件夾.git裏面的config,修改裏面的內容:
原文件內容:
[remote "origin"]
url = https://github.com/NicholasHzf/GitTestRepository.git
修改後:用戶名和密碼爲 GitHub 用戶名與密碼
[remote "origin"]
url = https://用戶名:密碼@github.com/NicholasHzf/GitTestRepository.git
- 非首次往線上遠程倉庫提交項目,直接輸入指令 git push ,刷新 GitHub 頁面並查看
5. 從線上遠程倉庫拉取項目到本地倉庫,使用指令:git pull 在線上修改readme.txt文件,然後拉取到本地,打開檢驗是否成功:
6. 衝突的產生與解決
- 產生:線上修改後,沒有先pull到線下,線下直接進行了修改,雙方不一致,導致衝突發生,無法push項目到線上
- 解決:先 pull 到本地,修改後再 push 到線上
7. 忽略文件
Git 提供了一種可配性很強的機制來允許用戶將指定的文件或目錄排除在版本控制之外。它會檢查代碼倉庫的目錄下是否存在一個名爲 .gitignore 的文件,若存在,則一行行讀取這個文件的內容,並把每一行指定的文件或目錄排除在版本控制之外。(.gitignore 使用 touch .gitignore 創建.gitignore文件,該文件中指定的文件或目錄是可以使用“*”通配符的,#xxx爲註釋)