平常在windows電腦上使用Git Extensions 工具比較多,大部分的常用指令都可以通過點點點就可以完成。在mac電腦上的話使用sourcetree工具。但有時候也會直接通過git命令,很多時候也是通過百度來臨時查閱,所以總結下來方便自己,也方便可能需要的你。
1、基本命令
- 1.1、 生成SSH公鑰和私鑰,公鑰要複製配置到git伺服器上的
// 生成SSH金鑰 ssh-keygen -o // .pub字尾名為公鑰,另外一個為私鑰 cat ~/.ssh/id_rsa.pub
- 1.2、 git config 配置提交使用者名稱和使用者郵箱
git config --global user.name "aehyok" git config --global user.email "aehyok@163.com" // 配置好後可通過這個來檢視 git config -l
- 1.3、 建立專案後如何提交到倉庫
// 建立專案後到指定的專案資料夾中初始化git git init
- 1.4、 將檔案新增到暫存區
// 將新增或修改的檔案提交到暫存區 git add . // 將監控已經被add進暫存區的檔案,會將被修改的檔案再次提交到暫存區 // 或者是 git add -u // 則是git add .和 git add -u 兩個命令的集合 // 或者是 git add -A
- 1.5、 提交到本地倉庫(即自己當前電腦的程式碼倉庫)
// 提交到本地倉庫 git commit -m ' feat: 初始化專案'
- 1.6、 設定遠端倉庫地址(即程式碼要提交到哪裡的伺服器)
// 當然也可以使用ssh 連結 git remote add github.origin https://github.com/aehyok/demo.git
- 1.7、 推送到遠端伺服器(注意一點,首次推送要設定追蹤)
// 設定本地分支追蹤遠端分支、、、之後就可以直接git push git push --set-upstream origin main
- 1.8、 修改檔名會忽略大小寫,預設都是忽略了,所以修改檔名大小寫是無效的
// (檢視是否忽略大小寫) true則設定了忽略 git config core.ignorecase // 後面加上false則直接可設定不忽略,修改檔名大小寫後會生效 git config core.ignorecase false
- 1.9、修改資料夾名字大小寫的問題
// (修改前先將Test資料夾備份並修改為TestTemp<一個臨時資料夾名字而已>, // 然後執行命令 git rm Test // 再將備份資料夾名字修改為需要的資料夾即可 --------------另外一種簡單粗暴的方式----------------- // 還是先備份好要刪除的檔案,然後將檔案刪除,提交到倉庫。 // 完事後將備份的檔案複製回來,然後修改檔案大小寫,再提交即可。
- 1.10、 是將遠端主機的最新內容拉到本地 ,使用者在檢查了以後決定是否合併到工作本機分支中。
git fetch //更多基本操作 //https://www.cnblogs.com/runnerjack/p/9342362.html
- 1.11、同樣一個本地倉庫可以設定多個遠端倉庫,然後通過不同的git push github.origin
// 設定個github遠端倉庫 git remote add github.origin https://github.com/aehyok/demo.git // 設定個gitee遠端倉庫 git remote add gitee.origin https://github.com/aehyok/demo.git // 推送到github git push github.origin // 推送到gitee git push gitee.origin
- 1.12、克隆程式碼庫
// 目前沒指定分支,預設為master git clone https://github.com/aehyok/demo.git // 指定分支名稱 git clone -b dev https://github.com/aehyok/demo.git
2、分支管理
- 2.1、 建立分支
// 切換到基礎分支 git checkout main // 根據 切換到的main分支,建立dev分支並切換到dev分支 git checkout -b dev
- 2.2、 檢視分支
// 檢視本地分支 git branch // 檢視本地分支和遠端分支,如果不存在需要git fetch一下 git branch -a // 檢視遠端分支 git branch -r
- 2.3、 修改分支名稱
// 修改當前本地分支的名稱 git branch -m develop-lqm // 也可以修改指定的分支 原分支名稱 新分支名稱 git branch -m develop-lam develop-lqm
- 2.4、 刪除本地分支和刪除遠端分支
// 先切換到其他分支 git checkout dev1.3.4 // 刪除本地分支 git branch -d dev // 如果刪除不了,可以進行強制刪除 git branch -D dev // 有必要的情況下,刪除遠端分支但是要謹慎使用 git push origin --delete dev
3、合併程式碼
- 3.1、 將某個提交,任何跟倉庫所有分支的commit 合併到當前分支
// (正常情況直接合併成功,可能存在重複圖需要手動解決) git cherry-pick commitid // 正常情況直接push即可,手動解決衝突需要commit 再進行push git push // 擴充套件閱讀:還可以一起提交commitid-A到commitid-B 之間所有的內容修改 // http://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html
- 3.2、 當前分支dev的程式碼提交push成功,此時想合併到main分支上
// 先切換到main分支 git checkout main // 將dev分支的變更拉取到main分支上來 git merge dev // 合併完成,即可推送到遠端伺服器 git push -u origin main
4、tag標籤
- 4.1、新增一個tag,並推送到遠端倉庫
git tag -a 3.11.3.001 -m "release 3.11.3.001" git push origin 3.11.3.001
- 4.2、 刪除一個tag
git tag -d 3.11.3.001 git push origin :refs/tags/3.11.3.001
- 4.3、 檢視tag
git tag
- 4.4、在某個commit上打tag
git tag test_tag c809ddbf83939a89659e51dc2a5fe183af384233 git push origin test_tag //!!!本地tag推送到線上
- 4.5、 根據tag建立分支
https://www.cnblogs.com/senlinyang/p/9455426.html git branch newbranch 3.11.3.001 // 切換到分支 git checkout newbranch