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

面試官:說(shuō)說(shuō)Git常用的命令有哪些?

開(kāi)發(fā) 前端
Git自帶一個(gè) git config 的工具來(lái)幫助設(shè)置控制 Git外觀和行為的配置變量,在我們安裝完git之后,第一件事就是設(shè)置你的用戶(hù)名和郵件地址。

[[416782]]

本文轉(zhuǎn)載自微信公眾號(hào)「JS每日一題」,作者灰灰 。轉(zhuǎn)載本文請(qǐng)聯(lián)系JS每日一題公眾號(hào)。

一、前言

git的操作可以通過(guò)命令的形式執(zhí)行,日常使用就如下圖6個(gè)命令即可

實(shí)際上,如果想要熟練使用,超過(guò)60多個(gè)命令需要了解,下面則介紹下常見(jiàn)的的git命令

二、有哪些

大致分成了以下幾個(gè)類(lèi)別

  • 配置
  • 初始化
  • 日?;静僮?/li>
  • 分支操作
  • 遠(yuǎn)程同步
  • 撤銷(xiāo)
  • 存儲(chǔ)

配置

Git自帶一個(gè) git config 的工具來(lái)幫助設(shè)置控制 Git外觀和行為的配置變量,在我們安裝完git之后,第一件事就是設(shè)置你的用戶(hù)名和郵件地址

后續(xù)每一個(gè)提交都會(huì)使用這些信息,它們會(huì)寫(xiě)入到你的每一次提交中,不可更改

設(shè)置提交代碼時(shí)的用戶(hù)信息命令如下:

  • git config [--global] user.name "[name]"
  • git config [--global] user.email "[email address]"

啟動(dòng)

一個(gè)git項(xiàng)目的初始有兩個(gè)途徑,分別是:

  • git init [project-name]:創(chuàng)建或在當(dāng)前目錄初始化一個(gè)git代碼庫(kù)
  • git clone url:下載一個(gè)項(xiàng)目和它的整個(gè)代碼歷史

日?;静僮?/h3>

在日常工作中,代碼常用的基本操作如下:

  • git init 初始化倉(cāng)庫(kù),默認(rèn)為 master 分支
  • git add . 提交全部文件修改到緩存區(qū)
  • git add <具體某個(gè)文件路徑+全名> 提交某些文件到緩存區(qū)
  • git diff 查看當(dāng)前代碼 add后,會(huì) add 哪些內(nèi)容
  • git diff --staged查看現(xiàn)在 commit 提交后,會(huì)提交哪些內(nèi)容
  • git status 查看當(dāng)前分支狀態(tài)
  • git pull <遠(yuǎn)程倉(cāng)庫(kù)名> <遠(yuǎn)程分支名> 拉取遠(yuǎn)程倉(cāng)庫(kù)的分支與本地當(dāng)前分支合并
  • git pull <遠(yuǎn)程倉(cāng)庫(kù)名> <遠(yuǎn)程分支名>:<本地分支名> 拉取遠(yuǎn)程倉(cāng)庫(kù)的分支與本地某個(gè)分支合并
  • git commit -m "<注釋>" 提交代碼到本地倉(cāng)庫(kù),并寫(xiě)提交注釋
  • git commit -v 提交時(shí)顯示所有diff信息
  • git commit --amend [file1] [file2] 重做上一次commit,并包括指定文件的新變化

關(guān)于提交信息的格式,可以遵循以下的規(guī)則:

  • feat: 新特性,添加功能
  • fix: 修改 bug
  • refactor: 代碼重構(gòu)
  • docs: 文檔修改
  • style: 代碼格式修改, 注意不是 css 修改
  • test: 測(cè)試用例修改
  • chore: 其他修改, 比如構(gòu)建流程, 依賴(lài)管理

分支操作

  • git branch 查看本地所有分支
  • git branch -r 查看遠(yuǎn)程所有分支
  • git branch -a 查看本地和遠(yuǎn)程所有分支
  • git merge <分支名> 合并分支
  • git merge --abort 合并分支出現(xiàn)沖突時(shí),取消合并,一切回到合并前的狀態(tài)
  • git branch <新分支名> 基于當(dāng)前分支,新建一個(gè)分支
  • git checkout --orphan <新分支名> 新建一個(gè)空分支(會(huì)保留之前分支的所有文件)
  • git branch -D <分支名> 刪除本地某個(gè)分支
  • git push <遠(yuǎn)程庫(kù)名> :<分支名> 刪除遠(yuǎn)程某個(gè)分支
  • git branch <新分支名稱(chēng)> <提交ID> 從提交歷史恢復(fù)某個(gè)刪掉的某個(gè)分支
  • git branch -m <原分支名> <新分支名> 分支更名
  • git checkout <分支名> 切換到本地某個(gè)分支
  • git checkout <遠(yuǎn)程庫(kù)名>/<分支名> 切換到線上某個(gè)分支
  • git checkout -b <新分支名> 把基于當(dāng)前分支新建分支,并切換為這個(gè)分支

遠(yuǎn)程同步

遠(yuǎn)程操作常見(jiàn)的命令:

  • git fetch [remote] 下載遠(yuǎn)程倉(cāng)庫(kù)的所有變動(dòng)
  • git remote -v 顯示所有遠(yuǎn)程倉(cāng)庫(kù)
  • git pull [remote] [branch] 拉取遠(yuǎn)程倉(cāng)庫(kù)的分支與本地當(dāng)前分支合并
  • git fetch 獲取線上最新版信息記錄,不合并
  • git push [remote] [branch] 上傳本地指定分支到遠(yuǎn)程倉(cāng)庫(kù)
  • git push [remote] --force 強(qiáng)行推送當(dāng)前分支到遠(yuǎn)程倉(cāng)庫(kù),即使有沖突
  • git push [remote] --all 推送所有分支到遠(yuǎn)程倉(cāng)庫(kù)

撤銷(xiāo)

  • git checkout [file] 恢復(fù)暫存區(qū)的指定文件到工作區(qū)
  • git checkout [commit] [file] 恢復(fù)某個(gè)commit的指定文件到暫存區(qū)和工作區(qū)
  • git checkout . 恢復(fù)暫存區(qū)的所有文件到工作區(qū)
  • git reset [commit] 重置當(dāng)前分支的指針為指定commit,同時(shí)重置暫存區(qū),但工作區(qū)不變
  • git reset --hard 重置暫存區(qū)與工作區(qū),與上一次commit保持一致
  • git reset [file] 重置暫存區(qū)的指定文件,與上一次commit保持一致,但工作區(qū)不變
  • git revert [commit] 后者的所有變化都將被前者抵消,并且應(yīng)用到當(dāng)前分支

reset:真實(shí)硬性回滾,目標(biāo)版本后面的提交記錄全部丟失了

revert:同樣回滾,這個(gè)回滾操作相當(dāng)于一個(gè)提價(jià),目標(biāo)版本后面的提交記錄也全部都有

存儲(chǔ)操作

你正在進(jìn)行項(xiàng)目中某一部分的工作,里面的東西處于一個(gè)比較雜亂的狀態(tài),而你想轉(zhuǎn)到其他分支上進(jìn)行一些工作,但又不想提交這些雜亂的代碼,這時(shí)候可以將代碼進(jìn)行存儲(chǔ)

  • git stash 暫時(shí)將未提交的變化移除
  • git stash pop 取出儲(chǔ)藏中最后存入的工作狀態(tài)進(jìn)行恢復(fù),會(huì)刪除儲(chǔ)藏
  • git stash list 查看所有儲(chǔ)藏中的工作
  • git stash apply <儲(chǔ)藏的名稱(chēng)> 取出儲(chǔ)藏中對(duì)應(yīng)的工作狀態(tài)進(jìn)行恢復(fù),不會(huì)刪除儲(chǔ)藏
  • git stash clear 清空所有儲(chǔ)藏中的工作
  • git stash drop <儲(chǔ)藏的名稱(chēng)> 刪除對(duì)應(yīng)的某個(gè)儲(chǔ)藏

三、總結(jié)

git常用命令速查表如下所示:

參考文獻(xiàn)

https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

 

https://segmentfault.com/a/1190000017875714

 

責(zé)任編輯:武曉燕 來(lái)源: JS每日一題
相關(guān)推薦

2024-07-26 08:10:10

2021-08-02 08:34:20

React性能優(yōu)化

2021-06-03 08:14:01

NodeProcessJavaScript

2021-09-30 07:57:13

排序算法面試

2021-05-27 05:37:10

HTTP請(qǐng)求頭瀏覽器

2021-08-09 07:47:40

Git面試版本

2021-06-04 07:55:30

Node Fs 操作

2024-02-21 07:40:17

JVM內(nèi)存虛擬機(jī)

2021-06-02 09:42:29

Node. js全局對(duì)象

2021-07-19 07:55:24

Redux中間件原理

2021-09-26 10:57:16

集合操作場(chǎng)景

2021-09-27 06:50:04

樹(shù)非線性數(shù)據(jù)

2025-04-01 00:00:00

項(xiàng)目CRUD單例模式

2021-08-17 07:15:16

Git RebaseGit Merge面試

2023-02-20 08:08:48

限流算法計(jì)數(shù)器算法令牌桶算法

2021-08-19 08:36:22

Git ResetGit Revert版本

2021-10-29 09:40:21

設(shè)計(jì)模式軟件

2021-09-09 07:21:26

TypeScript 高級(jí)類(lèi)型

2021-08-20 08:33:19

操作系統(tǒng)OS

2024-08-22 10:39:50

@Async注解代理
點(diǎn)贊
收藏

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