關於git:你應該知道的操作

關於 git 你應該知道的操作

git 的使用工具

首先有兩個 可視化工具推薦 :

  • gitkraken
    一個新出的廣受好評的git 可視化工具。有付費。
  • sourcetree
    一直在用,就是註冊麻煩,需要翻牆。免費。

個人在用第二個,sourcetree 日常使用可以說是hin方便了。當然,不想額外下軟件的還可以使用 vscode 內置的 git 管理工具,同樣的也是棒棒的。

vscode 的git插件

當然我也在使用 vscode ,除了 vscode 自帶的 git 支持,還可以安裝以下的插件來更好的使用git:

  • Git Lens 官推的 git 插件,幾乎該有的都有了,最強大的就是可以查看具體代碼的具體變更,就像下面的這樣:

    上一個讓我感覺這麼厲害的還是 visual studio 的內部集成的版本控制功能,但是 visual studio 實在是太大了。不過這個插件美中不足的就是查看歷史實在是太醜了,所以有了下面的這個插件。
  • git history 沒毛病,這個插件就是讓你的 提交歷史 可以很直觀的展示出來。

不過,無論怎麼說,git 原生命令還是要了解的,對學習和理解 git 的工作機制會很有幫助,當然對提升逼格也有成效。so,下面的部分主要是針對於 git 命令行的一些快捷操作。

Mac下不可以使用的問題

error: xcrun:error invalid actiive ... missing xcrun at ...

出現的原因是 git 依賴這個 xcode 的這個工具,所以要更新,一般會在更新系統之後出現。
解決辦法就是:

sudo xcode-select --install

等待安裝完成之後就可以了。

git 命令行的一些騷操作

下面總結一些 git 命令中可以快速提高效率和提升幸福度的操作。

git配置別名

可以直接使用命令行修改全局配置,

git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'
git config --global alias.last 'log -1'
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

也可以通過 vim 更改配置文件來操作。

vi ~/.gitconfig
source ~/.gitconfig

兩者的效果是一致的,可以通過 git config --list 查看添加的配置是否存在。

該部分總結自 廖雪峯:git——配置別名

(踩坑)常用的回退(救命)操作

如果你已經提交到暫存區了,你可以:

  • 撤銷上次提交
    git reset --hard '指定的記錄'

如果你想放棄本地修改,你可以:

  • 檢出本地
    git checkout 'branch'

如果你想修改上一次的提交信息,你可以:

  • 修改最後的一次提交
    git commit --amend

如果你在排查問題的時候,你可以
* 使用 git fetch 替換 git pull, 因爲git pull = git fetch + merge local

(踩坑)git 上傳文件忽略大小寫

好的約定其實比技術本身更重要,所以儘可能統一規範大小寫,從而避免修改默認的配置。

git config core.ignorecase false
git config --global core.ignorecase false // 全局設置

git comment 添加規範

feat:新功能(feature)
fix:修補bug
docs:文檔(documentation)
style: 格式(不影響代碼運行的變動)
rebuild:重構(即不是新增功能,也不是修改bug的代碼變動)
test:增加測試
chore:構建過程或輔助工具的變動
config: 配置

example: git commit -m "[feat] 新功能"

總結自 阮一峯: Commit message 和 Change log 編寫指南

git comment 添加表情

看到別人的comment history有那麼多的卡哇伊的表情,是不是很羨慕,現在自己也可以做到。只需要在comment加入:apple:這樣的代碼,測試GitHubGitlab是可用的

git commit -m ':apple: i have a apple'

表情列表如下:

emoji emoji 代碼 commit 說明
:art: (調色板) :art: 改進代碼結構/代碼格式
:zap: (閃電)
:racehorse: (賽馬)
:zap:
:racehorse:
提升性能
:fire: (火焰) :fire: 移除代碼或文件
:bug: (bug) :bug: 修復 bug
:ambulance: (急救車) :ambulance: 重要補丁
:sparkles: (火花) :sparkles: 引入新功能
:memo: (備忘錄) :memo: 撰寫文檔
:rocket: (火箭) :rocket: 部署功能
:lipstick: (口紅) :lipstick: 更新 UI 和樣式文件
:tada: (慶祝) :tada: 初次提交
:white_check_mark: (白色複選框) :white_check_mark: 增加測試
:lock: (鎖) :lock: 修復安全問題
:apple: (蘋果) :apple: 修復 macOS 下的問題
:penguin: (企鵝) :penguin: 修復 Linux 下的問題
:checkered_flag: (旗幟) :checked_flag: 修復 Windows 下的問題
:bookmark: (書籤) :bookmark: 發行/版本標籤
:rotating_light: (警車燈) :rotating_light: 移除 linter 警告
:construction: (施工) :construction: 工作進行中
:green_heart: (綠心) :green_heart: 修復 CI 構建問題
:arrow_down: (下降箭頭) :arrow_down: 降級依賴
:arrow_up: (上升箭頭) :arrow_up: 升級依賴
:construction_worker: (工人) :construction_worker: 添加 CI 構建系統
:chart_with_upwards_trend: (上升趨勢圖) :chart_with_upwards_trend: 添加分析或跟蹤代碼
:hammer: (錘子) :hammer: 重大重構
:heavy_minus_sign: (減號) :heavy_minus_sign: 減少一個依賴
:whale: (鯨魚) :whale: Docker 相關工作
:heavy_plus_sign: (加號) :heavy_plus_sign: 增加一個依賴
:wrench: (扳手) :wrench: 修改配置文件
:globe_with_meridians: (地球) :globe_with_meridians: 國際化與本地化
:pencil2: (鉛筆) :pencil2: 修復 typo

寫在最後

騷操作那麼多,肯定不止上面那些,所以本文還是會持續更新的。

最後,希望你和 git 過的幸福。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章