当前位置: 首页 > news >正文

常用git命令集锦

git init 初始化

将当前目录初始化为 git 本地仓库,此时会在本地创建一个 .git 的文件夹

git init -q

静默执行,就是在后台执行

git init --bare

–bare 参数,一般用来初始化一个空的目录,作为远程存储仓库

git init --template dir

–template 参数,相当于将已有的git仓库目录复制一份出来,生成新的仓库,dir是原git目录;

git init --template ../project
git init --separate-git-dir dir

相当于复制仓库dir目录(可以是工作仓库,也可以是存储仓库)中的.git目录,只复值.git目录

git init --separate-git-dir ../project

git log 查看当前git提交记录

查看git提交记录,只看提交带本地仓库的记录;

 git log 

--oneline 简化git日志输出格式

$ git log --oneline
3662c32 (HEAD -> v1.0.0, origin/v1.0.0) feat: 表单已完成,等待接口完善
661dfc0 (origin/master, origin/HEAD, master) init

git remote 命令

git remote add origin url 创建远程仓库

在git服务器上创建一个远程仓库,这里以码云为例

git remote add origin https://gitee.com/你的码云用户名/projectName
git remote -v 查看本地添加了哪些远程分支的地址
$ git remote -v
origin  http://git.woa.com/bkdevops-plugins/fitFmqPulsarTopicAutoDeploy.git (fetch)
origin  http://git.woa.com/bkdevops-plugins/fitFmqPulsarTopicAutoDeploy.git (push)
git remote remove xxx

删除本地指定的远程地址

git remote remove origin

git pull origin xxx 拉取代码

拉取指定分支的代码,master 是分支名称

git pull origin master

git add . 将文件保存到缓存区

你新增的文件是不可以直接提交的,必须先将文件添加到缓存区;

# 把新增的、修改的都加到缓存
git add .# 把新增、和修改的、和删除的都加到缓存
git add -A      # 添加 file文件或目录到缓存区
git add + file

git commit -m ‘xxx’ 提交到本地仓库

将缓存区的文件提交到本地仓库

# 提交缓存区的所有文件到本地仓库
git commit -m '新添加的文件内容描述' # 提交指定的文件到本地仓库
git commit -o index.html about.html -m '我同时提交了 工作区的index.html 和 暂存区的about.html 这两个文件'

git push origin xxx 推送到远程仓库

push 是将本地仓库中的代码推送到远程仓库

# 将本地仓库的代码推送到远程仓库的master分支git push origin master

git pull url 拉取远程仓库的代码且与本地代码合并

拉取指定git url的代码,未指定分支的情况下,默认拉取master分支

git clone  https://xxx.git

git拉取远程指定分支下代码(-b 分支名称)

git clone -b v2.8.1 https://xxx.git

git fetch url 拉取远程仓库的代码不合并,以远程代码为准

git fetch origin master

fetch与pull的区别

  • fetch是将远程主机的最新内容拉到本地,不进行合并
  • pull 则是将远程主机的master分支最新内容拉下来后与当前本地分支直接合并 fetch+merge

git config git配置

查看git的配置信息

# 执行后,,进入编辑状态,按 Q 退出
git config -l 

修改配置

# git配置本地仓库的userName(必须)
git config user.name 'Lee'# git配置本地仓库的邮箱(必须)
git config user.email '12345@qq.com'

git status

查看当前git状态信息(查看是否有文件未提交),以下示例提示有个 index.html 的文件修改了未提交,Untracked files表示忽略的目录或文件

$ git status
On branch v1.0.0
Your branch is up to date with 'origin/v1.0.0'.Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   src/index.htmlUntracked files:(use "git add <file>..." to include in what will be committed)../.idea/no changes added to commit (use "git add" and/or "git commit -a")

git branch 查看分支

git branch -r 查看所有的远程分支

origin/HEAD 是一个默认分支的指针,指向了master,表示origin/master就是默认分支

$ git branch -rorigin/HEAD -> origin/masterorigin/masterorigin/v1.0.0
git branch -a 查看所有的分支(包含远程和本地)

* 表示当前选择的分支

$ git branch -amaster
* v1.0.0remotes/origin/HEAD -> origin/masterremotes/origin/masterremotes/origin/v1.0.0

git reset --hard “HEAD^” 回退

可以用来删除已提交到本地仓库的版本,回退到上一个版本,切记,谨慎使用,执行多次会恢复到之前的版本,且代码不可恢复( --hard表示全恢复 )

# 以下2种用法,linux系统使用第一种,win系统使用第二种
git reset --hard HEAD^
git reset --hard "HEAD^"

git reset --hard xxx 回退到指定的版本

回退到指定的版本,提交点:可用ID或标签

# 回退到指定的版本号
git reset --hard 3662c32f

git reflog 查询所有提交点

回退后需要反悔的话,需要通过此命令查找到所有操作的提交点

git reflog  

.gitignore 忽略的目录或文件

目录下建立一个.gitignore文件(可以有多个,影响范围当前文件及子文件),文件内可指定提交时忽略的文件和目录,可 同时忽略多个

touch .gitignore

git rm -r --cached 删除缓存区文件

删除缓存区的所有文件, . 表示所有

git rm -r --cached .

删除缓存区指定的文件

git rm -r --cached index.html

合并分支

合并分支reking和主干master,合并后的提交点属于主干master

git checkout master    
git rebase reking       

git diff 统计文件改动

比较本地 v1.0.0 分支和远程分支origin/master的差异

$ git diff --stat v1.0.0 origin/masterbk-frontend/package.json            |   5 +-bk-frontend/src/Atom.vue            |  63 ++++++++++++bk-frontend/src/data/Index.vue      | 187 ------------------------------------bk-frontend/src/data/LocalAtom.vue  |  74 ++++++++++++++bk-frontend/src/data/PublicAtom.vue | 103 ++++++++++++++++++++bk-frontend/src/data/task.json      |  49 ++++++++++bk-frontend/src/main.js             |  11 +--7 files changed, 295 insertions(+), 197 deletions(-)
http://www.dtcms.com/a/300533.html

相关文章:

  • conda和pip安装包时的注意细节,以及下载慢时如何配置镜像地址
  • 积分兑换小程序Java
  • Megatron 中的 TensorParallel, PipelineParallel, ContextParallel,ExpertParallel
  • PHP框架之Laravel框架教程:3. 数据库操作(简要)
  • PowerDesigner 画ER图并生成sql 教程
  • 【学习笔记】MimicGen: 基于人类演示的可扩展机器人学习数据生成系统
  • GIt学习——分布式版本控制工具
  • STL——list
  • 金融科技中的虚拟助手
  • 15.7 DeepSpeed实战:单卡38GB到多卡12GB,3倍效率提升的ZeRO-3配置全解
  • 【专题十五】BFS 解决 FloodFill
  • 多智能体系统设计:协作、竞争与涌现行为
  • 2025年7月25日-7月26日 · AI 今日头条
  • 【第六节】方法与事件处理器
  • 【计算机网络架构】网状型架构简介
  • C++ 多线程(一)
  • 详解力扣高频SQL50题之610. 判断三角形【简单】
  • Vscode的常用快捷键(摆脱鼠标计划)
  • [N1盒子] 斐讯盒子N1 T1通用刷机包(可救砖)
  • 金字塔降低采样
  • C语言:顺序表(上)
  • K8S 九 安全认证 TLS
  • 关于西门子博图基本指令的应用区别
  • VScode 支持 QNX 源码跳转
  • 【Python系列】从内存分析到性能剖析
  • Mysql 二进制安装常见问题
  • 2025年Solar应急响应公益月赛-7月wp
  • mac neo4j install verifcation
  • 论文阅读-IGEV
  • SecureCRT连接密钥交换失败