Git實操
環境準備
- 操作系統: Linux,Windows,MacOS(本文以Linux爲教程)
- 安裝Git
sudo apt-get update
sudo apt-get install git
git --version

常用指令介紹
Linux創建目錄&&並進入目錄
mkdir -p hellogit
cd hellogit

設置git的用戶與郵箱(必須設置!!!)
git config --global user.name "tungchiahui"
git config --global user.email tungchiahui@gmail.com
git初始化(使該文件夾被git控制)
git init

創建文件&&查看當前文件夾內的所有文件
touch test.md
ls

編輯文件文本內容
sudo apt-get update
sudo apt-get install vim
vim ./test.md

接下來按鍵盤上的insert按鍵進入編輯模式&&並輸入一段文本

按ESC退出編輯模式

按shift+冒號按鍵,並輸入wq回車進行保存退出

查詢當前文件的狀態
git status

On branch 分支名
Untracked是指文件在工作區
將文件提交到暫存區
git add test.md

將文件提交至本地倉庫
git commit -m "version1"
#git commit -m "提交的信息(可以理解为是注释)"

查看已經提交的項目版本
git log

這幾行的意思是tungchiahui(郵箱爲tungchiahui@gmail.com)用戶於2023年12月30日週六00:42:47往master分支提交了註解爲"version1"的項目版本
可以嘗試對文件內容進行修改,並再次進行提交
vim test.md
git add test.md
git commit -m "version2"
git log


如何忽略掉不想提交的文件
- 首先創建一個文件.gitignore
- 再創建一個文件 絕密文件不想開源.py 並修改裏面的內容
- 查看git狀態
touch .gitignore
touch vinci_secret.py
vim vinci_secret.py
git status


- 修改.gitignore的內容,將不想被提交的文件名寫入該文件
vim .gitignore
git status


分支基本操作
- 分支的作用:開闢項目的一個新倉庫分支,與master等其他分支是獨立的,可以進行獨立的add、commit和diff、clone。
- 創建分支
git branch route2
#git branch 分支名
- 進入分支
git checkout route2
#git checkout 分支名
- 查詢有多少分支,並查詢目前爲哪一個分支
git branch

當前分支文件會完美繼承master分支的文件
- 刪除掉該分支下的文件
ls
rm -rf test.md
rm -rf vinci_secret.py
ls

- 將該分支往本地倉庫進行提交
git commit -a -m "删库跑路"
#该指令是把git add和git commit指令一起写

- 查看分支是否對其他分支有影響(切換到其他分支查看影響)
git checkout master
ls

可以發現,在route2分支中被刪掉的test.md文件回來了,但是同樣被刪掉的vinci_sercet.py文件沒回來,是因爲該文件在提交時被.gitignore文件屏蔽了,不會被提交到本地倉庫
- 刪除分支
git branch -D route2
#git branch -D 分支名

- 創建分支並立馬切換到分支
git checkout -b route3

分支的合併
- 在route3分支中修改文件內容並提交
vim test.md
git commit -am "route3 version3"
#-a -m也可以被省略成-am


- 切換到master分支
git checkout master
vim test.md

- 將route3分支合併到當前分支上
git merge route3
#git merge 被合并的分支名
vim test.md


分支合併的衝突
- 爲master添加一行內容,並提交
vim test.md
git commit -am "master version4"


- 切換到route3分支,並添加內容並提交
git checkout route3
vim test.md
git commit -am "route3 version4"


- 合併分支
git merge master

發生了內容衝突,需要手動修改文本衝突纔可以!或者其他辦法也可以解決,可以查詢百度。
遠程倉庫Github
- 打開github官網:https://github.com(如果你打不开,请自己找办法打开)
- 註冊並登錄賬號

- 新建遠程倉庫


這個界面建議詳細設置一下,但這裏是演示,所以只設置了倉庫名稱,其他選項爲默認操作。

如果上圖出現,則說明已經創建成功了
- 進行創建文件並提交


填寫好文件名,文件內容,就可以點綠色按鈕進行提交了。然後也可以填寫提交的註釋信息。


- 克隆遠程倉庫到本地

cd
mkdir repo_floder
cd repo_floder
git clone https://github.com/tungchiahui/test_repo.git

如果出錯,請檢查是否能正常訪問github!


- 對文件內容進行修改
cd test_repo
vim test1.md



- 查看該本地倉庫與哪些遠程倉庫有聯繫
git remote -v

- 將本地倉庫push到遠程倉庫
git push

這裏需要你輸入github的用戶名與密碼,用戶名則爲github用戶名,但是密碼則爲github用戶token,生成token的步驟如下:




Note隨便填,有效日期選擇沒有截止時間。
下面能勾的勾全勾上,這是權限。

複製token並填入password中(token在終端中輸入會被隱藏,輸完直接回車即可)

- 查看遠程倉庫

發現文件已經被修改了!
- 對遠程倉庫內容進行修改

- 將遠程倉庫內容拉到本地倉庫
git fetch

- 查看本地與遠程倉庫區別
git diff origin/main
#git diff 远程仓库名/分支名

- 如果發現內容沒問題,就可以將遠程倉庫內容同步到工作區
git pull

- 查看項目修改歷史
git log

VScode + Git
VScode是什麼?
VScode是一個文本編輯器,類似於Vim等編輯器,但是他有圖形界面,有非常多的好用的插件,而且可以集成編譯器環境,最終也可以被用戶自定義配置成Visual Studio那樣的IDE。
VScode官網:
https://code.visualstudio.com/
Linux環境下配置C++環境教程:
創建文件夾並在該文件夾下打開VScode

新建文件


初始化Git(類似於git init命令)


U是指未追蹤狀態,也就是文件還在工作區
將文件提交到暫存區(類似git add)

取消提交到暫存區點減號(這裏不取消)

A是added表示在暫存區
進行提交(類似於commit)

輸入提交信息,並點對號進行commit
創建新分支,並進入新分支


修改內容

顯示M爲修改狀態
查看歷史版本對比(點擊文件)

提交

切換回main分支


合併分支



Push到Github遠程倉庫
- 輸入倉庫名


- 打開github倉庫查看

