自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一張腦圖帶你掌握Git命令

開發(fā)
工作之余,遇到Git上面一些問題,趁這次的機會,補一補Git基礎知識。

 腦圖👇

 

本文更多梳理的是Git常用命令,非原理篇,需要這部分知識的可以往下看。

一圖解天下👇 首先我們的了解Git通常的操作流程,網(wǎng)上流行的不錯一張圖👇     Git經(jīng)典流程圖
基本概念   Git基本命令
基于上面的圖,我們就有接下來一些概念👇 版本庫👉.git 當我們使用git管理文件時,比如git init時,這個時候,會多一個.git文件,我們把這個文件稱之為版本庫。
.git文件另外一個作用就是它在創(chuàng)建的時候,會自動創(chuàng)建master分支,并且將HEAD指針指向master分支。
工作區(qū) 本地項目存放文件的位置
可以理解成圖上的workspace
暫存區(qū) (Index/Stage) 顧名思義就是暫時存放文件的地方,通過是通過add命令將工作區(qū)的文件添加到緩沖區(qū)
本地倉庫(Repository) 通常情況下,我們使用commit命令可以將暫存區(qū)的文件添加到本地倉庫
通常而言,HEAD指針指向的就是master分支
遠程倉庫(Remote) 舉個例子,當我們使用GitHub托管我們項目時,它就是一個遠程倉庫。
通常我們使用clone命令將遠程倉庫代碼拷貝下來,本地代碼更新后,通過push托送給遠程倉庫。
Git文件狀態(tài)
通常我們需要查看一個文件的狀態(tài)

  1. git status 
  1. Changes not staged for commit 
  1. 表示的大概就是工作區(qū)有該內(nèi)容,但是緩存區(qū)沒有,需要我們git add 
  1. Changes to be committed 

  1. 一般而言,這個時候,文件放在緩存區(qū)了,我們需要git commit 
  1. nothing to commit, working tree clean 
這個時候,我們將本地的代碼推送到遠端即可
常見命令
git配置命令

Git配置命令
列出當前配置

  1. git config --list    

  列出Repository配置  

  1. git config --local --list 

  列出全局配置  

  1. git config --global --list 

  列出系統(tǒng)配置  

  1. git config --system --list 

  通過上述的命令,發(fā)現(xiàn)你并沒有配置用戶信息的話,接下來配置一下👇 配置用戶名

  1. git config --global user.name "your name" 

配置用戶郵箱

  1. git config --global user.email "youremail@github.com" 

分支管理   Git分支管理
查看本地分支

  1. git branch 

查看遠程分支

  1. git branch -r 

查看本地和遠程分支

  1. git branch -a 

從當前分支,切換到其他分支

  1. git checkout <branch-name
  2. // 舉個例子 
  3. git checkout feature/tiantian 

創(chuàng)建并切換到新建分支

  1. git checkout -b <branch-name
  2. // 舉個例子👇 
  3. git checkout -b feature/tiantian 

刪除分支

  1. git branch -d <branch-name
  2. // 舉個例子👇 
  3. git branch -d feature/tiantian 

當前分支與指定分支合并

  1. git merge <branch-name
  2. // 舉個例子👇 
  3. git merge feature/tiantian 

查看哪些分支已經(jīng)合并到當前分支

  1. git branch --merged 

查看哪些分支沒有合并到當前分支

  1. git branch --no-merged 

查看各個分支最后一個提交對象的信息

  1. git branch -v 

刪除遠程分支

  1. git push origin -d <branch-name

重命名分支

  1. git branch -m <oldbranch-name> <newbranch-name

拉取遠程分支并創(chuàng)建本地分支

  1. git checkout -b 本地分支名x origin/遠程分支名x 
  2.  
  3. // 另外一種方式,也可以完成這個操作。 
  4. git fetch origin <branch-name>:<local-branch-name
  5. // fetch這個指令的話,后續(xù)會梳理 

fetch指令   Git命令fetch
我理解的就是將遠程倉庫內(nèi)容更新到本地,最近與師姐開發(fā)項目過程中,使用的就是這個命令。 具體是這樣子的👇 fetch推薦寫法

  1. git fetch origin <branch-name>:<local-branch-name

一般而言,這個origin是遠程主機名,一般默認就是origin。

  1. branch-name 你要拉取的分支

 

  1. local-branch-name 通常而言,就是你本地新建一個新分支,將origin下的某個分支代碼下載到本地分支。
    👇

舉個例子

  1. git fetch origin feature/template_excellent:feature/template_layout 
  2. // 你的工作目錄下,就會有feature/template_layout 
  3. // 一般情況下,我們需要做的就是在這個分支上開發(fā)新需求 
  4. // 完成代碼后,我們需要做的就是上傳我們的分支 

fetch其他寫法
將某個遠程主機的更新,全部取回本地。

  1. git fetch <遠程主機名> 

這樣子的話,取回的是所有的分支更新,如果想取回特定分支,可以指定分支名

  1. git fetch <遠程主機名> <分支名> 

當你想將某個分支的內(nèi)容取回到本地下某個分支的話,如下👇

  1. git fetch origin :<local-branch-name
  2. // 等價于👇 
  3. git fetch origin master:<local-branch-name

花式撤銷   Git花式撤銷
撤銷「工作區(qū)」修改👇

  1. git checkout -- 

暫存區(qū)文件撤銷 (不覆蓋工作區(qū))

  1. git reset HEAD 

版本回退

  1. git reset --(soft | mixed | hard )  < HEAD ~(num) > | 

 

  1. 指令  作用范圍 
  2. --hard  回退全部,包括HEAD,index,working tree 
  3. --mixed 回退部分,包括HEAD,index 
  4. --soft  只回退HEAD 

工作區(qū)命令 狀態(tài)查詢
查看狀態(tài)

  1. git status 

查看歷史操作記錄

  1. git reflog 

查看日志

  1. git log 

文檔查詢 展示Git命令大綱

  1. git help (--help) 

展示Git命令大綱全部列表

  1. git help -a 

展示具體命令說明手冊

  1. git help 

文件暫存 Git命令文件暫存
添加改動到stash

  1. git stash save -a “message” 

刪除暫存

  1. git stash drop <stash@{ID}> 

查看stash列表

  1. git stash list 

刪除全部緩存

  1. git stash clear 

恢復改動

  1. git stash pop <stash@{ID}> 

差異比較 Git文件比較
比較工作區(qū)與緩存區(qū)

  1. git diff 

比較緩存區(qū)與本地庫最近一次commit內(nèi)容

  1. git diff -- cached 

比較工作區(qū)與本地最近一次commit內(nèi)容

  1. git diff HEAD 

比較兩個commit之間差異

  1. git diff 

分支命名 Git分支管理規(guī)范
「master分支」 主分支,用于部署生產(chǎn)環(huán)境的分支,確保穩(wěn)定性。
master分支一般由develop以及hotfix分支合并,任何情況下都不能直接修改代碼。
「develop 分支」 develop為開發(fā)分支,通常情況下,保存最新完成以及bug修復后的代碼。
開發(fā)新功能時,feature分支都是基于develop分支下創(chuàng)建的。
「feature分支」 開發(fā)新功能,基本上以develop為基礎創(chuàng)建feature分支。
分支命名:feature/ 開頭的為特性分支, 命名規(guī)則: feature/user_module、 feature/cart_module。
**這點我深有體會,我在網(wǎng)易,mentor就是這么教我的,**通常建一個feature分支。 「release分支」 release 為預上線分支,發(fā)布提測階段,會release分支代碼為基準提測。
「hotfix分支」 分支命名:hotfix/ 開頭的為修復分支,它的命名規(guī)則與 feature 分支類似。
線上出現(xiàn)緊急問題時,需要及時修復,以master分支為基線,創(chuàng)建hotfix分支,修復完成后,需要合并到master分支和develop分支。 基本操作
有了上述的基本了解后,那么我們就來看看整體的一個流程吧。 創(chuàng)建本地倉庫 git init

  1. git init 

鏈接本地倉庫與遠端倉庫

  1. git remote add  origin 
  2.  
  3. origin默認是遠端倉庫別名  url 可以是「可以使用https或者ssh的方式新建」 

檢查配置信息  

  1. git config --list 
  2. Git user name 與email     
  1. git config --global user.name "yourname" 
  2.  
  3. git config --global user.email  "your_email"        

 

成SSH密鑰     

 

  1. ssh-keygen -t rsa -C "這里換上你的郵箱" 
  2.  
  3. cd ~/.ssh 里面有一個文件名為id_rsa.pub,把里面的內(nèi)容復制到git庫的我的SSHKEYs中 

常看遠端倉庫信息

  1. git remote -v 

遠端倉庫重新命名

  1. git remote rename old new 
提交到緩存區(qū)
  1. git add 全部上傳到緩存區(qū) 
  1. git add指定文件 

提交到本地倉庫

  1. git commit -m 'some message' 
提交遠程倉庫
  1. git push <遠程主機名> <本地分支名>:<遠程分支名> 
查看分支
  1. git  branch 
創(chuàng)建新分支
  1. git branch 
切換分支
  1. git checkout 
創(chuàng)建分支并切換
  1. git checkout -b 
刪除分支
  1. git branch -d 
刪除遠程分支
  1. git push -d 
切換分支
  1. git checkout 

忽略文件 .gitignore
這個文件的作用,會去忽略一些不需要納入Git管理這種,我們也不希望出現(xiàn)在未跟蹤文件列表。 那么我們來看看如何配置該文件信息。  

  1. # 此行為注釋 會被Git忽略 
  2.  
  3. # 忽略 node_modules/ 目錄下所有的文件 
  4. node_modules 
  5.  
  6.  
  7. # 忽略所有.vscode結(jié)尾的文件 
  8. .vscode 
  9.  
  10. # 忽略所有.md結(jié)尾的文件 
  11. *.md 
  12.  
  13. # 但README.md 除外 
  14. !README.md 
  15.  
  16. # 會忽略 doc/something.txt 但不會忽略doc/images/arch.txt 
  17. doc/*.txt 
  18.  
  19. # 忽略 doc/ 目錄下所有擴展名為txt文件 
  20.  
  21. doc/**/*.txt 

參考
git基本操作,一篇文章就夠了!
Git 常用操作總結(jié)
您必須知道的 Git 分支開發(fā)規(guī)范
如何優(yōu)雅地使用 Git
優(yōu)雅的提交你的 Git Commit Message
詳解git pull和git fetch的區(qū)別
十分鐘的時間,武裝你的代碼庫
「備忘錄」60+Git常用命令行

 

 

 

責任編輯:姜華 來源: 前端時光屋
相關推薦

2024-09-26 08:53:43

2021-02-07 09:01:10

Java并發(fā)編程

2014-10-09 09:43:05

虛擬機遷移

2020-11-27 06:28:55

Spring循環(huán)依賴

2019-09-11 10:12:12

華為

2015-03-10 10:15:27

AppleWatch開發(fā)Swift

2015-09-14 09:07:15

Java多線程

2018-03-09 14:59:02

F5應用交付

2015-10-29 15:09:32

信息圖數(shù)據(jù)

2015-09-23 10:04:03

開放數(shù)據(jù)

2018-02-13 14:56:24

戴爾

2022-08-19 14:46:16

視覺框架

2015-06-24 10:51:10

iOS學習流程

2025-03-11 10:58:00

2021-09-29 11:30:01

大數(shù)據(jù)技術架構

2018-05-18 18:09:44

人工智能

2024-05-07 08:49:45

微服務架構模式

2013-12-16 10:59:52

WiFi上鎖WiFi被盜

2023-09-05 08:53:51

點贊
收藏

51CTO技術棧公眾號