Git相关F&Q

Git 使用 git diff local-branch origin/remote-branch ##比较本地分支和远程分支的不同(均已入库)======================================================================Git用户名和邮箱是本地git客户端的一个变量,不随git库而改变。git reset --hard commit-id 或者 git reset --soft commit-id都会将git log中的commit-id清除! 阅读详情

Git相关F&Q

代码提交流程

  • 本地创建密钥对,并提交公钥至黄海针,git项目部署公钥
$ ssh-keygen -C "邮箱"
... # 一路Enter
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfvlLm9Hb4nOJwrW/btXDGNvSWqolr/hxPoAsW3gzxr+fpHFS5/jGAxevjpWqrgd++nQFRVnZnzTDCEdg+kfjTUmx5zqxPFCgMmv3Ci5HuV4MvAjdiReMUNDrLikAZEhuy4H7zW4m+uaOFfrWfwAGnbJNnrverMkjoTL/wkCBvmqimAb8C+67wHV5aHGlrZajiW7zDh8G2sr8NtSifPMz7T/1XV6cYn6w1PIsDzt9Luq4mgmgPqy+U+lgWYRgrUHGt8szYoe1XcJG6NQh3kz3O1RBBcDa2ZR0i5CGVWoZQZQr2J0O22veQAmJmRjGmOcPQJ6QDyT2+Iq+LOohTw8Ov xxx@xxxx.com
  • 克隆代码至本地仓库
$ git clone -b dev ssh克隆地址

# -b dev省略则拉取默认分支,一般为master,这里使用dev举例
# 克隆仓库分为https与ssh,注意这里为ssh地址,否则部署了公钥任然需要输出账号密码
  • 修改代码后提交(注意:若修改文件为公共文件,则以文件为最小单位提交合并请求,禁止同时修改多个公共文件,避免增加冲突几率)
$ git pull origin dev # 注意:拉取仓库最新代码,此步骤不可缺失
$ git branch tester # 创建新分支
$ git checkout tester # 切换新分支
$ git add .
$ git commit -m "修改事件"
# 修改事件格式:日期+事件类型(新增add/更新update)+文件
# 例如修改了Round_1.sh/Round_2.sh文件,git commit -m "20210222_update_Round_1.sh/Round_2.sh"
$ git push origin tester
  • 提交代码成功后,登录git项目提交合并请求:tester->dev ,告知管理员检查代码并合并请求,注意:代码有错误,记录违规事件,请多加检查!
  • 切换当前分支回dev,删除临时分支,代码成功合并后,重新pull最新代码至dev
$ git checkout dev
$ git branch -d test
$ git pull origin dev

分支管理

查看分支

​ 使用命令:git branch

  • 查看本地分支
>git branch
* master
  • 查看本地+远程分支
>git branch -a
* master
  remotest/origin/HEAD -> origin/master
  remotest/origin/dev
  remotest/origin/master
  remotest/origin/test
  
# 使用命令git branch -a,远程仓库已经删除的分支在本地依然可以看到
# 使用命令 git remote show origin,可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息

>git remote show origin
* 远程 origin
  获取地址:...
  推送地址:...
  HEAD 分支:master
  远程分支:
    dev                      已跟踪
    master                   已跟踪
    refs/remotes/origin/test 过时(使用 'git remote prune' 来移除)
  为 'git pull' 配置的本地分支:
    dev 与远程 dev 合并
  为 'git push' 配置的本地引用:
    dev 推送至 dev (最新)
新建分支

​ 使用命令:git branch 分支名称

  • 查看分支
>git branch
* master
  • 创建分支
>git branch hhz
  • 创建之后再次查看,可看到新建分支,master分支前面有个星号,代表此时还在master分支上
>git branch
* master
  hhz
切换分支

​ 使用命令:git checkout 分支名称

  • 创建分支,默认在master上,切换到新的分支hhz上
>git checkout hhz
A       .idea/vcs.xml
Switched to branch 'hhz'

# 如果当前分支有修改未合并,不允许切换分支,可提交后再切换
  • 切换成功,查看当前的所有分支
>git branch
  master
* hhz
  • 查看当前分支状态也可以用git status
>git status
On branch hhz
  • 创建分支的同时并切换分支
>git checkout -b hhz2
A       .idea/vcs.xml
Switched to a new branch 'hhz2'
  • 等同于:先创建分支,再切换分支
git branch hhz2
git checkout hhz2
删除本地分支

​ 删掉本地的分支,使用git branch —delete 分支名称

  • —delete缩写就是-d,可以使用 git branch -d 分支名称来代替

    • 注意:使用—delete删除分支时,该分支必须完全和它的上游分支merge完成,如果没有上游分支,必须要和HEAD完全merge
  • -D 是—delete —force的缩写,这样写可以在不检查merge状态的情况下删除分支

    • —force 简写-f,作用是将当前branch重置到初始点(startpoint),如果不使用—force的话,git分支无法修改一个已经存在的分支.

​ 在不检查merge状态的情况下删除分支,使用git branch -D 分支名称 ,它是git branch --delete --force 分支名称的缩写

​ **注意:**无法直接删除当前分支,需切换至其他分支

>git branch
  master
  hhz
* hhz2

>git branch -D hhz2
error: Cannot delete branch 'hhz2' checked out at 'D:/ftp/sat'

>git checkout master
A       .idea/vcs.xml
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

>git branch -D hhz2
Deleted branch hhz2 (was c613c75).

>git branch
* master
  hhz
删除远程分支

​ 通过本地的命令行删除远程分支,使用git push origin -—delete 分支名称

>git push origin --delete hhz

 - [deleted]         hhz
 
 # 若未进行关联无法通过本地的命令行删除远程分支,需建立本地分支并关联:git push origin 本地分支:远程分支 ,若本地、远程分支名一致,则可省略`:远程分支`

文件管理

恢复文件
恢复最新版本
  • 本地修改未提交
$ git checkout -- other.sh  # other.sht为文件名
  • 本地修改,已提交至暂存区(即编辑之后,gitadd但没有gitadd但没有 git commit -m …)
$ git reset HEAD    # 回退到当前版本
$ git checkout -- other.sh  # other.sht为文件名
  • 本地修改,已提交至仓库区(即编辑之后,gitadd和gitadd和 git commit -m …)
$ git reset HEAD^    # 回退到上一个版本
$ git checkout -- other.sh  # other.sht为文件名
恢复至任意版本
 $ git log --oneline
fbcfafd (HEAD -> dev) ly-5  # HEAD
02d906a ly-4  # HEAD^
08493f3 Merge branch 'dev' of https://e.coding.net/mars-z/sat/SAT into dev   # HEAD^^
c11ed08 ly-3  # HEAD~4
dc07dfe ly-2

# 第一列为版本号
git reset 版本号
git checkout -- other.sh  # other.sht为文件名

✨从零搭建 Ubuntu22.04 + Python3.11 + PyTorch2.5.1 GPU Docker 镜像并上传 Docker Hub 构建一个带 GPU 支持的深度学习开发镜像;使用 PyTorch 2.5.1(CUDA 12.4)环境;发布并托管 Docker 镜像至 Docker Hub;验证 GPU 环境正常运行!🎉 这将极大提升你的项目部署效率,尤其是在多人协作或跨平台部署场景中。 阅读详情

相关推荐

01 AUTOSAR CP标准文档阅读指南

01 AUTOSAR CP标准文档阅读指南

汽车软件工程师 | 好奇博主 | 处女座 1134

Git

title: git date: 2021-06-22 11:37:26 tags: [版本控制] Git 第一次学习 Git 的时候好像还是 19 年,那时候才刚上大学,才大一下学期,只会用 txt 编写,现在不一样啦,学会了 markdown,所以打算用 markdown 来重新写一篇关于 Git 的使用手册。 概述 Git 是用 C 语言开发的分布式版本控制系统。 分布式和集中式的版本控制系统有什么区别呢? 分布式版本控制系统的代表是 Git。 集中式版本控制系统的代表是 Svm。 集中式版本.

F_Just 742

PICO SCOPE 二次开发

基于C#开发一个简单的PICO示波器的上位机工作,与MCC600运动控制卡一起,实现数据自动采集

nixoncheng的博客 1147

Git使用

Git命令使用 git log --stat 查看提交的文件名等详细信息 git status 查看当前分支的状态 git diff 查看所有文件的修改情况 git blame file 查看文件每一行代码的责任人 git stash 将修改的文件保存在暂存区 git stash show 显示暂存区的文件 git stash clear 清空暂存区 创建分支并推送到远程 新建一个本地分支 git checkout –b zhaoyh_dev 查看分支的状态 Git b...

u010947949的专栏 2103

自动驾驶预测决策规划八股

预测规划八股个人总结。

dawushixiange的博客 479

F280049C_HRPWM_死区时间高精度控制与MEP技术实战解析

本文深入解析了F280049C的HRPWM模块及其基于MEP技术的死区时间高精度控制。通过实测数据与TI官方代码对比,详细阐述了DBREDHR和DBFEDHR寄存器的配置技巧、精度优化方法及常见问题调试,为电源管理和电机控制应用提供了实用的实战指南。

yolo5detector的博客 217

git 指令总结

git 指令总结 1.查看本地分支 git branch -a remotes/origin/HEAD -> origin/master remotes/origin/develop remotes/origin/dv2 remotes/origin/master remotes/origin/test 2、git 拉取更新远程分支列表 git remote up...

jiuweiC的博客 714

AutoCAD 2024 LISP实用技巧:自定义快捷命令与高效绘图工具集

本文详细介绍了如何在AutoCAD 2024中部署和使用LISP脚本,打造高效绘图工具集。通过自定义快捷命令,如WFF(超级文字查找替换)、GQT(图层隔离)和LLTJ(智能长度统计),可大幅简化图层管理、文字编辑和测量统计等重复性操作,显著提升绘图效率。

gan8painter的博客 318

Git的基本命令

查看当前git环境详细配置2.1、查看系统config配置文件在git安装目录/etc/gitconfig2.2、查看当前用户配置配置文件在~/.gitconfig2.3、查看当前仓库配置信息配置文件在当前项目的/.git/config2.4、修改git配置设置当前项目的用户名配置当前用户的编码项,可以解决中文编码问题配置当前项目不忽略文件大小写,git默认忽略文件名的大小写,这点值得注意。

llllllhy_的博客 730

优快云积分获取与管理全攻略

技术社区积分系统是知识共享生态的核心激励机制,通过量化用户贡献实现资源交换。其底层逻辑遵循Web2.0时代的UGC经济模型,用户通过内容创作、社区互动等行为积累虚拟资产。在开发者社区场景中,积分体系能有效促进技术文档、工具源码等资源的流通,优快云作为国内头部平台,其积分规则具有典型参考价值。掌握签到策略、内容互动技巧和资源上传规范等实操方法,可系统性提升积分获取效率。2023年新规强化了连续签到奖励和互动质量检测机制,结合GitHub等开源平台资源互补,能构建更高效的技术资源获取路径。

weixin_34233974的博客 218

手把手教你学基带SOC芯片(4.4.9)--基带芯片的电源管理实例:高通 Snapdragon 系列实例(十)

Snapdragon 888 通过支持多种深度睡眠模式,如 AOAC 模式、低功耗模式和深度睡眠模式,以及智能电源管理技术,实现了对功耗的精细管理。这些模式不仅延长了设备的电池寿命,还确保了用户在各种使用场景下的良好体验。无论是保持网络连接、限制后台活动,还是完全关闭不必要的功能,Snapdragon 888 都能够灵活应对,提供高效的功耗管理方案。

MHD0815的博客 740

git学习及git命令

git时光机 git是分布式版本控制系统,通过git可以快速回到某个版本. git操作流程 首先创建版本库(仓库),进入某个目录,输入命令:git init,这个目录就变为gi可以管理的仓库. 把文件从工作区添加到暂存区,命令为:git add 文件名 把暂存区里的文件一次性提交到当前分支,命令为:git commit -m “说明” 这样就完成了一次版本修改,如果文件在工作区发现错误,可以使用git checkout – file命令撤销修改,如果在暂存区发现错误,可以使用git reset HEAD

星是河的眼的博客 2774

如何在SpringBoot中实现AI 流式输出?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1479

Git Push -f 命令详解

666

weixin_70280523的博客 4264

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

还在用 Git 的 -f 参数强推仓库,你这是在作死!

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34025151的博客 1020

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

工具使用--git基本操作

git基本操作 1、Git基本设置 git config —global user.name “ken” // 设置用户名 git config —global user.email “ken@gmail.com” // 设置邮箱 git config —global —list // 显示用户名邮箱 git add helloworld.c // 添加单个文件 git add .......

chenliguan的博客 2753

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Git 学习笔记 --- 自定义Git

Git 学习笔记 --- 自定义Git

陈小陌的程序人生 1752

Git常用命令

git init 初始化 git commit 提交 git add git remote -v git remote yuanshi xxxxxxxxxxxxxx git fetch yuanshi git merge git status git pull yuan master 不需要合并 git branch xx git branch -d (D) xx 删除本地分支 D强制删除 git push yuan -d fenzhi 删除远程分支 git checkout...

FYANGFEI的博客 194

git基本使用

git是代码版本的管理工具,git是分布式的版本控制工具。

mantou_riji的博客 1455

Git基础命令,一篇搞懂!(命令行模式,无IDEA)

Git的基础使用,分支,分支冲突解决,连接远程仓库,远程冲突解决

qq_63524487的博客 1094

GIT命令行的一些基本操作

■前言1 Git是一个分布式的版本控制系统,它最早是在Linux上开发的,被用来管理Linux核心的源代码, 与集中式的版本控制系统(CVS,SVN)不同的是, 每一个使用者,都可以通过克隆的方式,在本地建立版本仓库。(克隆共有仓库到本地) 再对本地库进行操作(commit)时,不需要网络连接。 通过PUSH方式,反映到共有仓库中。 ■前言2 之前一直使用Eclipse操作git,今天有一个需求...

sun0322 5616

Git使用入门

git常见功能使用入门

经年藏殊的博客 771

git branch -f的作用

移动分支到目标位置: git branch -f [branch_name] [object_pos] 示例: git branch -f bugFix master~3 git branch -f master c6 (c6是提交记录的哈希值,可以通过 git log 命令来查看)

hello world 3034

Git基础命令

Git基础命令 一、Git可视化界面操作 1.更新线上代码到本地 1) Remote -> fetch-> 分支 从远程仓库哪个分支中获取更新,如果没有则只有主支。提示成功则改动的已经被存放到临时区了,你一会还需要进行合并操作,如果没有任何改动,则列表中是空的 2) merge->local merge 合并 – 本地合并不管你本地有没有代码,fetch之后呢,是都要...

u012467744的博客 5880

Git恢复之前版本的两种方法reset、revert(图文详解)

一、问题描述 在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。 二、背景知识 git的版本管理,及HEAD的理解 使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个分支。如果没有新建分支,那么...

游笑天涯 85万+

git push -f 慎用

git push -f 实战使用 Git Push git 常用命令流程图如下: git push命令用于将本地分支的更新,推送到远程主机。 $ git push <远程主机名> <本地分支名>:<远程分支名> git push origin lhf/dev/1.0 如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。 $ git push origin master 上面命令表示,将本地的ma

qq_40813329的博客 1万+
上一篇: SHELL实现自动化测试框架(Linux命令行测试)
下一篇: Shell编码规范手册(shellcheck错误汇总)
黄先生灬
博客等级 码龄10年 14粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值