成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一張腦圖帶你掌握Git命令

開發(fā)
工作之余,遇到Git上面一些問題,趁這次的機(jī)會(huì),補(bǔ)一補(bǔ)Git基礎(chǔ)知識(shí)。

 腦圖👇

 

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

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

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

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

Git配置命令
列出當(dāng)前配置

  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 

查看遠(yuǎn)程分支

  1. git branch -r 

查看本地和遠(yuǎn)程分支

  1. git branch -a 

從當(dāng)前分支,切換到其他分支

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

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

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

刪除分支

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

當(dāng)前分支與指定分支合并

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

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

  1. git branch --merged 

查看哪些分支沒有合并到當(dāng)前分支

  1. git branch --no-merged 

查看各個(gè)分支最后一個(gè)提交對(duì)象的信息

  1. git branch -v 

刪除遠(yuǎn)程分支

  1. git push origin -d <branch-name

重命名分支

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

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

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

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

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

一般而言,這個(gè)origin是遠(yuǎn)程主機(jī)名,一般默認(rèn)就是origin。

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

 

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

舉個(gè)例子

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

fetch其他寫法
將某個(gè)遠(yuǎn)程主機(jī)的更新,全部取回本地。

  1. git fetch <遠(yuǎn)程主機(jī)名> 

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

  1. git fetch <遠(yuǎn)程主機(jī)名> <分支名> 

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

  1. git fetch origin :<local-branch-name
  2. // 等價(jià)于👇 
  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 

展示具體命令說明手冊(cè)

  1. git help 

文件暫存 Git命令文件暫存
添加改動(dòng)到stash

  1. git stash save -a “message” 

刪除暫存

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

查看stash列表

  1. git stash list 

刪除全部緩存

  1. git stash clear 

恢復(fù)改動(dòng)

  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 

比較兩個(gè)commit之間差異

  1. git diff 

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

  1. git init 

鏈接本地倉庫與遠(yuǎn)端倉庫

  1. git remote add  origin 
  2.  
  3. origin默認(rèn)是遠(yuǎn)端倉庫別名  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 里面有一個(gè)文件名為id_rsa.pub,把里面的內(nèi)容復(fù)制到git庫的我的SSHKEYs中 

常看遠(yuǎn)端倉庫信息

  1. git remote -v 

遠(yuǎn)端倉庫重新命名

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

提交到本地倉庫

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

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

  1. # 此行為注釋 會(huì)被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. # 會(huì)忽略 doc/something.txt 但不會(huì)忽略doc/images/arch.txt 
  17. doc/*.txt 
  18.  
  19. # 忽略 doc/ 目錄下所有擴(kuò)展名為txt文件 
  20.  
  21. doc/**/*.txt 

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

 

 

 

責(zé)任編輯:姜華 來源: 前端時(shí)光屋
相關(guān)推薦

2024-09-26 08:53:43

2021-02-07 09:01:10

Java并發(fā)編程

2014-10-09 09:43:05

虛擬機(jī)遷移

2020-11-27 06:28:55

Spring循環(huán)依賴

2019-09-11 10:12:12

華為

2015-03-10 10:15:27

AppleWatch開發(fā)Swift

2018-03-09 14:59:02

F5應(yīng)用交付

2015-09-14 09:07:15

Java多線程

2015-09-23 10:04:03

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

2015-10-29 15:09:32

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

2018-02-13 14:56:24

戴爾

2015-06-24 10:51:10

iOS學(xué)習(xí)流程

2022-08-19 14:46:16

視覺框架

2025-03-11 10:58:00

2021-09-29 11:30:01

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

2023-09-05 08:53:51

2018-05-18 18:09:44

人工智能

2024-05-07 08:49:45

微服務(wù)架構(gòu)模式

2013-12-16 10:59:52

WiFi上鎖WiFi被盜
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲精品一区二区三区蜜桃久 | 国产日韩欧美 | 一区二区久久精品 | 国产精品国产馆在线真实露脸 | 天天色天天色 | 热re99久久精品国产99热 | 亚洲精品9999久久久久 | 日本一区二区三区四区 | 精品乱码一区二区 | 国产一区二区三区久久久久久久久 | 成人免费视频播放 | 中文字幕av在线播放 | 亚洲 自拍 另类 欧美 丝袜 | 国产精品欧美一区二区三区不卡 | 一区二区三区精品 | 成人在线视频一区二区三区 | 亚洲毛片网站 | 国产www成人| 激情婷婷 | 亚洲性视频 | 国产精品小视频在线观看 | 亚洲精品久久久9婷婷中文字幕 | 久草视 | 欧美精品福利视频 | 国产成人jvid在线播放 | 色综合久久久久 | 亚洲一区国产精品 | 婷婷激情综合 | 免费国产黄网站在线观看视频 | 日本手机在线 | 久久亚 | 激情 亚洲 | 国产欧美一区二区三区日本久久久 | 九九九久久国产免费 | 99这里只有精品视频 | 免费一看一级毛片 | 国产精品99久久久久久久久久久久 | 一级在线观看 | 91九色porny首页最多播放 | 日韩在线视频网址 | 免费簧片视频 |