git 常用命令及遇到问题

        自己没事,把git常用命令做个记录总结。方便自己和初学者查看,本文针对初学者,如果你已经是工作多年高手,请跳过。

git的几个区认识,分别为工作区,缓存区,版本库。

工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码

暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

 版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等

git基础命令         

       下面是一些基础常用命令,工程项目经常用到的。

git branch  /*查看当前分支是什么*/
git branch -a  /*查看所有分支是什么*/

git status /*查看当前哪些文件有变动*/

git log    /*查看提交log,替别留意commit id*/

git log --online /*简介显示,只显示commit msg*/
git log --online -3 /*简介显示,只显示3行commit msg*/

git blame   /*查看代码提交作者,甩锅时候必用*/



git show 28fc7d21eee632bd5e9ded1ca2eb861af7e45db7 --stat /*根据commit id 查看具体提交文件和内容*/

git reset --hard HEAD~1  /×删除本地库的最后一次提交×/

/*HEAD文件指向的branch就是当前branch.*/
git reset HEAD . /* 恢复到当前分支的最后一次提交记录,通俗讲,就是和最初clone的分支代码一致*/
git checkout 分支名  /* 用于切换分支*/
git checkout -b 分支名 /*用于创建分支并切换*/
git checkout .  /*会取消所有本地的修改(相对于暂存区)。相当于用暂存区的所有文件直接覆盖本地文件!*/
git checkout HEAD . /*会取消所有本地的修改(相对于暂存区)。相当于用暂存区的所有文件直接覆盖本地文件*/
git checkout package/libbus_box-2014-03-18/CMakeLists.txt /*恢复文件, 从*/

git diff    /*查看所有文件修改内容*/
git diff package/kebi2009/src/Server.c /*查看某一个修改文件内容*/

git lfs ls-file /*显示当前被 lfs 追踪的文件列表*/

git一次提交流程

        下面是一次完整的代码修改提交流程,需要对初学者有所帮助。

/*用户kobe2009,克隆alg代码,分支为master*/
git clone ssh://kobe2009@git.axin.com:29418/axinwifi/alg

/*创建V2100-1806分支,并且切换到V2100-1806*/
git checkout -b V2100-1806 origin/V2100-1806

/*切换到master*/
git checkout master

/*添加要提交文件*/
git add xxx.xxx.xxx
/*添加要删除文件*/
git rm  xx.xx.xx.xx

/*提交修改,这个时候会产生一个commit id,并且要写提交msg*/
git commit -s

/*pull远端V4-2.26.10代码到本地*/
git pull --rebase origin V4-2.26.10

/*提交本地修改到远端V4-2.26.10*/
git push origin HEAD:refs/for/V4-2.26.10

走完上面的流程,其实还没有正在的提交到代码仓库,这时候会有一个review流程,如果review通过,进行merge,这样就真的吧代码提交完成了。不过这里可能有冲突,需要手动处理了。

发现还需要修改继续提交

/*这个命令使用是在同一个提交,不改变commit id情况下,修改代码。其实就是上一次提交reveiw,需要修改使用下面命令。*/
git commit --amend

/*同步一下代码*/
git pull --rebase origin V4-2.26.10

/*提交代码*/
git push origin HEAD:refs/for/V4-2.26.10

git cherry-pick方法

/*代码切换到主分支*/ 
git checkout master

/*把commit id 2715bf182d89f0bef7af5f8d4d7dc40a1e0a02a7,cherry-pick 到master分支 */
git cherry-pick 2715bf182d89f0bef7af5f8d4d7dc40a1e0a02a7

/*查看同步过来的修改文件*/
git status

/*假设修改的是dhcpxx.conf*/
vi package/dhcpxx.conf
/*添加文件,准备提交*/
git add package/dhcpxx.conf

如果这时候报冲突,手动修改冲突。------->有机会把冲突的错误列一下,更容易理解。

中间如果发现冲突,解决冲突,然后继续提交。
git cherry-pick --continue

git pull --rebase origin master
git push origin HEAD:refs/for/master
git commit --amend
git push origin HEAD:refs/for/master

git相关工具

gitk 这个工具需要单独安装,查看提交内容和版本分支变化。

repo 还没理解透,因为我用的少

svn常用命令

        很多年前,使用svn管理过一段时间代码,因此积累一些svn 常用命令。

#svn的使用
#svn ls http://192.168.1.199/uhfgww  --usename 
--kobe2009 --password  --kobe2009
#显示当前文件夹内的所有文件。
#svn 
status
#svn 
--version
#svn 
info 显示svn相关的信息
#svn commit  -F 
SvnText.txt   --username  kobe2009  
--password  kobe2009
#提交文件,并且附上相关的文件说明。
#svn 
update 更新文件
#svn checkout http://192.168.1.199/uhfgww/trunk/
-username kobe2009 –password kobe2009  下载truck下的文件。
#svn 
add  xxx.txt添加新的文件
#

问题及困惑

  • gerrit和gitlib代码管理区别是什么
  • svn和git的各自优势是什么

注意事项

        gerrit github gitlib几个概念不要混淆,是不一样的东西。

        上面可能有写的不准确地方,请指正,再修改。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/13593.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Unity VR开发】结合VRTK4.0:添加碰撞忽略器

语录: 最远的旅行,是从自己的身体到自己的心,是从一个人的心到另一个人的心。坚强不是面对悲伤不流一滴泪,而是擦干眼泪后微笑面对以后的生活。 前言: 模块化提供了一种允许两个或者多个对象忽略彼此碰撞的方法&#x…

揭秘移动云大会展区前沿科技

2023年4月25日-26日 我们苏州金鸡湖国际会议中心见! 1场重磅主论坛、10场分论坛、2600㎡展区 数字中国新未来 尽在2023移动云大会 2023移动云大会设有中国移动和合作伙伴两大展区,联合40余家优质合作伙伴,全方位展示移动云在自主能力、行…

vue yarn npm

2016年左右 ,facebook针对npm包管理工具存在的性能问题进行了针对性开发并发布了yarn新的node包开发管理工具,具体对比,同学们自行网上搜索资料对比。 配置 1、先下载好NodeJS,然后输入如下命令安装yarn npm install -g yarn 2、…

如何微调Segment Anything Model

文章目录 什么是SAM?什么是模型微调?为什么要微调模型?如何微调 Segment Anything 模型背景与架构创建自定义数据集输入数据预处理训练设置循环训练保存检查点并从中启动模型 下游应用程序的微调 随着 Meta 上周发布的 Segment Anything Mode…

线程等待其他线程执行同步类CountDownLatch

文章目录 前言核心原理源码解析同步源码分析await源码分析countDown源码分析 实战演示1、创建演示代码2、创建测试用例3、测试结果演示 写在最后 前言 大家都知道多线程在我们实际编码过程中运用很多,很多情况我们需要靠多线程来提升系统性能。但是有些时候我们需要…

C语言开发环境搭建及调试

C简介 可移植 标准C C/C (系统硬件操作的接口,windows,Linux不一样) 跨平台 Java Python 下载 去官网选择Visual Studio 2019下载 安装过程中勾选使用C的桌面开发 安装好之后点击创建新项目——空项目 位置最好放在根目录下&…

【vue2】近期bug收集与整理02

⭐【前言】 在使用vue2构建页面时候,博主遇到的问题难点以及最终的解决方案。 🥳博主:初映CY的前说(前端领域) 🤘本文核心:博主遇到的问题与解决思路 目录 ⭐数据枚举文件的使用⭐elementUI中分页组件使用的注意事项⭐…

OpenAI-ChatGPT最新官方接口《从0到1生产最佳实例》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(十一)(附源码)

Production Best Practices 生产最佳实例 前言Introduction 导言Setting up your organization 设置您的组织Managing billing limits 管理计费限额API keys API密钥Staging accounts 演示账户 Building your prototype 构建您的原型Additional tips 其它技巧 Techniques for i…

C++函数重载

目录 函数重载函数重载是怎样实现的 函数重载 函数重载:是函数的一种特殊情况,C允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型不同的…

找PPT模板就上这5个网站~

分享几个可以永久免费下载PPT模板、素材的网站,上万个模板随便下载,赶紧收藏起来~ 1、菜鸟图库 https://www.sucai999.com/search/ppt/0_0_0_1.html?vNTYxMjky 网站素材非常全面,主要以设计类素材为主,办公类素材也很多&#x…

Spring MVC 接收 json 和返回 json (14)

目录 总入口 测试case 源码分析 1. 针对RequestBody的参数解析 2. 针对 ResponseBody 的返回值处理 总入口 通过上一篇Spring MVC 参数解析(13)_chen_yao_kerr的博客-CSDN博客的说明,相信大家对Sping MVC的参数解析有了一定的了解&…

8. 优先队列

8. 优先队列 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在某些情况下,我们可能需要找出队列中的最大值或者最小值,例如使用一个队列保存计算机的任务,一般情况下计算机的任务都是有优先级…

【有功-无功协调优化】基于改进多目标粒子群优化算法(小生境粒子群算法)的配电网有功-无功协调优化研究(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …

中断嵌套实验

使用汇编语言,要求: 外部中断1可以嵌套外部中断0 没有中断时,8个LED发光二极管以0.1s的速度闪烁。 有外部中断0时,8个LED发光二极管以0.1s的速度流水点亮。(中断子程序0) 有外部中断1时,会打断外…

gdb调试常用指令及案例讲解

文章目录 前言一、常用指令二、案例说明1、测试源文件2、编译和调试 三、其他指令四、案例说明 前言 GDB是一个由GNU开源组织发布的、UNIX/LINUX 操作系统下的、基于命令行的、功能强大的程序调试工具。 GDB 支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调…

每天一道大厂SQL题【Day22】华泰证券真题实战(四)

每天一道大厂SQL题【Day22】华泰证券真题实战(四) 大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题&…

2023软件测试工程师必备技能?要卷,谁还不会了......

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 软件测试岗位是怎…

day15 消息队列

目录 消息队列 消息队列的使用 发送消息 消息的接收 消息队列的控制 消息队列 概念: 消息队列是system V IPC对象的一种; 消息队列有消息队列ID来唯一标识; 消息队列就是一个消息的列表。用户可以在消息队列中添加消息、读取消息等&a…

zabbix故障排查

zabbix server服务问题可以查看server日志 tail -f /var/log/zabbix/zabbix_server.log 根据日志中的error报错提示分析原因 zabbix agent服务问题可以查看agent日志 tail -f /var/log/zabbix/zabbix_agentd.log 根据日志中的error报错提示分析原因 zabbix的nginx服务问题可…

从零开始学架构-计算高性能

一、概述 高性能是每个程序员的追求,无论做一个系统、还是写一组代码,都希望能够达到高性能的效果。而高性能又是最复杂的一环,磁盘、操作系统、CPU、内存、缓存、网络、编程语言、数据库、架构等,每个都可能影响系统的高性能&…