git 常用命令以及其他使用笔记
生活随笔
收集整理的這篇文章主要介紹了
git 常用命令以及其他使用笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本篇文章記錄了 git 的使用過程中的筆記,大部分為常用命令行記錄。內容傾向查閱使用,而非教程,詳細教程文中有鏈接。博客會不定時持續更新。
推薦詳細教程
- Git 官方資料
- Git 官方資料(中文)
- Git教程 - 廖雪峰的官方網站
名詞解釋與目錄結構
1. .git 目錄
/stage 或 /index:暫存區,具體見名稱解釋 /HEAD:版本指針 /config:配置文件
2. 名詞解釋
初始配置
效果:在"~"目錄下會生成隱藏文件: .gitconfig
配置用戶 git config --global user.name "Your Name" git config --global user.email "email@example.com" 查看用戶 git config --global user.name git config --global user.email 復制代碼倉庫創建
建立本地倉庫 git init 建立遠程倉庫(服務器使用命令) git --bare init 從遠端克隆倉庫(只會克隆默認分支,一般是 master) git clone https://github.com/ReactiveX/RxJava.git RxJava/ 復制代碼遠程庫與本地交互操作
關聯遠程庫
本地與遠程庫關聯 git remote add origin https://github.com/hanhailong/CustomRatingBar 顯示出詳細的 remote 信息 git remote -v 刪除添加的遠程庫 git remote remove origin 復制代碼遠程分支管理
從遠程庫更新到本地(不自動 merge) git fetchgit fetch origin master 從遠程庫更新到本地(自動 merge) git pullgit pull origin master 將本地分支推送到遠程庫(影響遠程庫,并自動關聯本地分支與遠程分支) git push -u 遠程庫名稱 本地分支名稱:遠程庫分支名稱 git push -u origin master:master 將本地分支推送到遠程庫(影響遠程庫,不關聯本地分支與遠程分支) git push origin master:mastergit push origin master 將本地當前分支推送到遠程庫(影響遠程庫,當前分支與遠程分支已關聯才可使用) git push 查看遠程庫的分支信息 git branch -r 拉取遠程分支并創建本地分支 git checkout -b 本地分支名稱 遠程庫名稱/遠程庫分支名稱 git checkout -b dev origin/dev 刪除遠程分支 git push origin --delete dev 更新遠程分支列表 git remote update origin --prune 復制代碼遠程標簽管理
拉取遠程標簽到本地標簽(指定) git fetch origin tag v1.1.0 將本地標簽推送到遠程庫(指定) git push origin v1.1.0 將本地標簽推送到遠程庫(所有) git push origin --tags 刪除遠程庫標簽(指定) git push origin :v1.1.0 其實不論是推送到遠程,還是從遠程庫刪除,命令均轉換成以下語句,刪除是源標簽為空 git push origin refs/tags/源標簽:refs/tags/目的標簽git push origin refs/tags/v1.1.0:refs/tags/v1.1.0 復制代碼備注:
影響遠程庫的操作:
本地倉庫操作
1. 查看幫助
查看幫助 git help 復制代碼2. 添加、刪除、提交
添加(內容更新到暫存區) git add .git add readme.txt 刪除(內容更新到暫存區,同時刪除工作區文件) git rm readme.txt 提交 git commit -m "Wrote a readme file" 復制代碼3. 對比
狀態對比
查看狀態:當前代碼庫與最新版本的簡單對比 git statusgit status readme.txt 復制代碼內容對比
工作區與暫存區對比 git diff -- readme.txt ## 有時可以省略 --,但不推薦,具體見下面的說明 工作區與版本區對比 git diff HEAD readme.txtgit diff HEAD -- readme.txt 暫存區與版本區對比 git diff --staged readme.txtgit diff --cached readme.txt 工作區與指定分支的版本區對比 git diff deve readme.txt git diff 1094a readme.txt 復制代碼說明:
4. 日志
查看項目 log git log 查看某文件 log git log -- readme.txtgit log readme.txt 只查看 10 個 log git log -10 一行顯示 log,只顯示哈希值和提交說明 git log --pretty=onelinegit log --oneline 查看圖形 Log git log --oneline --graph --abbrev-commitgit log --pretty=format:"%C(auto)%h %ad | %C(auto)%s%d %C(bold blue)<%an>" --date=short --graph --abbrev-commit 查看某文件每次提交的 Diff git log -p readme.txt 查看某文件指定提交的 Diff git show 1094a readme.txt # 1094a 是版本號,就是 commit id 復制代碼說明:
5. 版本管理
版本庫管理(可能會影響到工作區)
版本回滾(當前版本變為指定版本,同時暫存區被清空,不影響工作區) git reset HEAD^ 版本穿梭(當前版本變為指定版本,同時暫存區被清空,工作區的所有 modified 文件被 Revert 到指定版本) git reset --hard HEAD^git reset --hard 1094a # 1094a 是版本號,就是 commit id 查看版本管理命令歷史,可用于獲取所有的版本號 git reflog 復制代碼說明:
版本 Revert(不影響版本庫)
Revert 到暫存區(工作區與暫存區相同) git checkout .git checkout -- readme.txt ## 有時可以省略 --,但不推薦,具體見下面的說明 Revert 到指定版本庫(工作區與指定版本庫相同,同時暫存區被清空) git checkout HEAD^ .git checkout HEAD^ readme.txtgit checkout HEAD^ -- readme.txt ## 可以省略 -- 復制代碼說明:
6. 分支管理
查看分支 git branch 查看當前分支 git symbolic-ref --short -q HEAD 創建分支(不切換分支) git branch deve 切換分支 git checkout deve 創建 + 切換分支 git checkout -b deve 刪除分支 git branch -d deve 合并指定分支到當前分支(Fast forward 模式,不保留分支信息) git merge deve 合并指定分支到當前分支(推薦,禁用 Fast forward 模式,保留分支信息) git merge --no-ff -m "add merge" deve 關聯分支與遠程分支 git branch --set-upstream-to origin/deve deve 復制代碼備注說明:
7. stash 模式
當前工作現場存儲起來,用于臨時切換分支 git stash 查看已存儲的所有的工作現場信息 git stash list 查看工作現場文件狀態信息 git stash showgit stash show --index 1 工作現場恢復(不刪除工作現場) git stash apply # 不推薦,具體原因見下面說明git stash apply --index 1 刪除工作現場(不推薦,具體原因見下面說明) git stash drop # 不推薦,具體原因見下面說明git stash drop --index 1 工作現場恢復(自動刪除工作現場) git stash pop # 不推薦,具體原因見下面說明git stash pop --index 1 復制代碼備注說明:
8. Tag 管理
- Git 官方資料
- Git 官方資料(中文)
備注說明:
譯注:
- -a:取 annotated 的首字母
- -s:取 signed 的首字母
- -v:取 verify 的首字母
git 全局配置
設置[pretty] git config --global pretty.graph '%C(auto)%h %ad | %C(auto)%s%d %C(bold blue)<%an>' 設置別名:[alias] git config --global alias.logg 'log --pretty=graph --date=short --graph --abbrev-commit' 復制代碼添加 Git 忽略配置
由目錄下的[.gitignore]文件確定,使用規則如下:
通配符:
- / :表示目錄
- * :匹配多個字符
- ? :匹配單個字符
- ! :包含單個字符的匹配列表
- [] :表示不忽略(跟蹤)匹配到的文件或目錄
詳細說明:
- 一行一個忽略項
- 配置按從上到下進行規則匹配的,意味著如果前面的規則匹配的范圍更大,則后面的規則將不會生效
- 規則【build/*】: 等同于【build】,忽略根目錄或某一目錄下的[build],以及其下的全部內容
- 規則【/.idea/*】: 等同于【/idea】,忽略根目錄下的[.idea],以及其下的全部內容
- 以下規則,表示忽略全部內容,但是不忽略[.gitignore]文件
/*
!.gitignore
總結
以上是生活随笔為你收集整理的git 常用命令以及其他使用笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全网实时热备inotify+rsync
- 下一篇: vue-axios 安装和应用