GIT日常操作

本文主要記錄個(gè)人日常工作需要的部分命令,進(jìn)一步了解參考一下鏈接: 中文參考:Git教程- 廖雪峰的官方網(wǎng)站, 英文參考:Learn Git

  1. 安裝配置
    Linux:
sudo apt install git 

Windows: 官網(wǎng)下載git

$ git init  # 創(chuàng)建respository
$ git config --global user.name "Your Name"   # 配置用戶名(隨意)
$ git config --global user.email "email@example.com"   # 配置郵箱(隨意)
# 配置別名
$ 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.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
  1. 本地repository操作
$ git add readme.txt    # 提交到暫存區(qū)
$ git commit -m "wrote a readme file"  # 提交當(dāng)前版本
$ git status   # 當(dāng)前狀態(tài)
$ git ls-files  # 查看當(dāng)前repository所跟蹤的所有文件
$ git diff readme.txt   # 比較文件差異
$ git diff 1094a 89b02  # 比較 版本1094a 和 版本89b02 之間的差異
$ git log   # 版本記錄
$ git reset 1094a  #  撤回所有1094a版本之后的commit,代碼保持不變(可以用于撤銷(xiāo)錯(cuò)誤的commit)
$ git reset --hard HEAD^   # 回到上一個(gè)版本
$ git reset --hard 1094a   # 回到版本1094a
$ git checkout -- readme.txt  # 撤銷(xiāo)當(dāng)前修改,回到最近一次git commit或git add時(shí)的狀態(tài)
$ git rm test.txt   # 刪除文件
$ git rm --cached  # 刪除該文件再repository中的index,即撤銷(xiāo)跟蹤,文件不變(適用于一些本地需要用到,但不需要上傳到repository的文件,如涉密內(nèi)容,緩存文件)
  1. 遠(yuǎn)程庫(kù)
$ git remote -v  # 查看遠(yuǎn)程庫(kù)的信息
$ git remote add origin git@github.com:michaelliao/learngit.git  # https協(xié)議
$ git remote add origin https://github.com/YasinLiu/learngit   # ssh協(xié)議
$ git clone git@github.com:michaelliao/gitskills.git   # 克隆到本地
$ git push origin master  # 將當(dāng)前master分支推送到origin遠(yuǎn)程倉(cāng)庫(kù)
$ git pull  # 從默認(rèn)遠(yuǎn)程倉(cāng)庫(kù)抓取

$ git checkout -b dev origin/dev  #  創(chuàng)建遠(yuǎn)程origin的dev分支到本地
$ git branch --set-upstream-to=origin/dev dev  # 設(shè)置dev和origin/dev的鏈接
  1. 分支管理
$ git branch   # 查看分支
$ git branch dev   # 創(chuàng)建分支
$ git branch -d dev   # 刪除分支
$ git branch -D dev  # 強(qiáng)行刪除
$ git checkout dev  # 切換到分支dev
$ git switch master  # 切換到分支master (版本 2.23.0 后才支持)
$ git checkout -b dev  # 創(chuàng)建并切換到分支dev
$ git switch -c dev  # 創(chuàng)建并切換到分支dev (版本 2.23.0 后才支持)
$ git merge dev  # 將dev合并到當(dāng)前分支(默認(rèn)快速合并)

$ git stash  # 將當(dāng)前工作現(xiàn)場(chǎng)“儲(chǔ)藏”起來(lái)
$ git stash list   # 參看當(dāng)前stash
$ git stash apply stash@{0}   # 恢復(fù)stash{0}
$ git stash drop stash@{0}   # 刪除stash{0}
$ git stash pop  # 恢復(fù)statsh并刪除

$ git rebase  # 本地未push的分叉提交歷史整理成直線
  1. 標(biāo)簽管理
$ git tag  # 查看所有標(biāo)簽
$ git tag v1.0  # 默認(rèn)標(biāo)簽是打在最新提交的commit上
$ git tag v0.9 f52c633  # 標(biāo)簽打在對(duì)應(yīng)的commit id是f52c633
$ git tag -a v0.1 -m "version 0.1 released" 1094adb # 創(chuàng)建帶有說(shuō)明的標(biāo)簽,用-a指定標(biāo)簽名,-m指定說(shuō)明文字
$ git show v0.9  # 查看標(biāo)簽信息

$ git push origin v1.0  # 推送某個(gè)標(biāo)簽到遠(yuǎn)程
$ git push origin --tags  # 一次性推送全部尚未推送到遠(yuǎn)程的本地標(biāo)簽
$ git tag -d v0.1  # 刪除標(biāo)簽v0.1
$ git push origin :refs/tags/v0.1  # 刪除一個(gè)遠(yuǎn)程標(biāo)簽(先在本地刪除)
  1. 添加SSH Key
  • github
  • gitee
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容