git命令操作(从小白到大佬)

2024-03-04 09:48

本文主要是介绍git命令操作(从小白到大佬),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • git的配置
    • 第一次安装git需要配置用户名和邮箱
    • git config --global user.name 'xxx'
    • git config --global user.email 'xxx@xxx.com'
  • git的三区
    • 工作区
      • 开发代码的地方
      • 新建/修改/删除文件出现再工作区
    • 暂存区
      • 暂时保存代码的地方
    • 版本区
      • 代码版本控制的地方
  • 指令
    • git init 初始化一个空的git仓库(只要做一次,第二次会报错)
    • git add a.js 将位于工作区的a.js文件添加到暂存区
    • git add ./ */ -A 将工作区全部文件添加到暂存区
    • git commit -m '注释' 将暂存区全部代码添加到版本区进行版本控制
    • git status 查看当前文件的状态
      • 红色:说明文件位于工作区
      • 绿色:说明文件位于暂存区
      • 没有颜色/显示:说明文件位于版本区
    • git diff 对比(工作区和暂存区)文件差异
      • git diff --cached 暂存区和版本区
      • git diff master 工作区和版本区
  • 版本回退
    • git log 查看版本历史记录
    • git reflog 查看简版的历史纪录
    • git reset --hard HEAD^ 回退到上一个版本
    • git reset --hard commit_id 回退指定commit_id的版本
  • 分支操作
    • git checkout master 切换到master分支
    • git branch dev 新建dev分支
    • git checkout -b dev 新建并切换到dev分支(将当前分支内容复制到dev分支上)
    • git branch 查看当前有哪些分支
    • git branch -r 查看当前所有分支
    • git merge dev 在当前分支合并dev分支内容
相关需求场景的操作
  • 需求1:远程github已经创建一个仓库,需要将本地项目托管到远程github仓库中

    • git init
    • git add .
    • git commit -m “first commit”
    • git remote add origin https://github.com/sxzxiaofeng/test.git 将本地仓库和远程仓库关联起来
    • git remote rm(remove) origin* 删除关联的远程仓库
    • git push -u origin master 将本地仓库master分支的内容推送到远程仓库去 首次需要加上-u,后面就不需要了~
  • 需求2:远程有仓库并且有内容,下载到本地来使用

  • git clone https://github.com/sxzxiaofeng/test.git

  • 自动关联了,不需要关联, 克隆下来的仓库默认只有master分支。希望获取dev分支内容

  • git fetch origin dev1:dev2

  • 拉取远程仓库dev1分支的内容到本地的dev2分支上

  • 需求3:本地仓库有内容,远程有更新,本地拉取更新的内容

  • git pull origin master 拉取远程仓库的master分支合并到本地master分支上
    注意: 不管将来push、pull操作,都得先进行本地版本控制

    • git add .
    • git commit -m ‘xxx’
团队开发git操作流程

1.克隆仓库到本地 git clone https://github.com/sxzxiaofeng/test.git

2.建立连接 git remote add origin https://github.com/sxzxiaofeng/test.git

3.创建并切换分支 git checkout -b dev

4.将工作区文件提交到暂存区git add *

5.将暂存区代码添加到版本区进行版本控制 git commit -m ‘注释’

6.和远程仓库建立连接,并把dev分支上的代码推送到远端
git push --set-upstream origin dev (第一次连接需要输入密码),以后是git push origin dev

git pull —rebase origin master 把当前提交的commit移到分支的最顶端
git revert b3ce1c2e(版本号) 反转后重新提交,去除掉当前commit
使用 git revert 可以撤销指定的提交, 要撤销一串提交可以用 … 语法。 注意这是一个前开后闭区间,即不包括 commit1,但包括 commit2。
git revert --no-commit f7742cd…551c408
git commit -a -m ‘This reverts commit 7e345c9 and 551c408’

git cherry-pick b3ce1c2e 新建分支,把当前commit挑拣到新的分支,只提交自己需要的commit

如果你只想修改最后一次注释(就是最新的一次提交),那好办:
git commit --amend
git commit --amend -m ‘xxxx’ // 覆盖上次commit信息

出现有注释的界面(你的注释应该显示在第一行), 输入i进入修改模式,修改好注释后,按Esc键 退出编辑模式,输入:wq保存并退出。ok,修改完成。

查看提交历史图形
git log --graph --pretty=oneline --abbrev-commit(简写commit版本好)

使用–no-ff参数禁用快速合并模式
合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
git merge --no-ff -m “merge with no-ff” dev

Git pull提示需求输密码
Enter passphrase for key :
解决方案: ssh-add -k /Users/m/.ssh/id_rsa //后面这个是你放置私钥的目录

git常用命令:
git status
git log —oneline
git rebase origin/master
git branch -a
git rebase --skip
git rebase --continue
git rebase --abort
git merge
git commit --amend

这篇关于git命令操作(从小白到大佬)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/772794

相关文章

linux打包解压命令方式

《linux打包解压命令方式》文章介绍了Linux系统中常用的打包和解压命令,包括tar和zip,使用tar命令可以创建和解压tar格式的归档文件,使用zip命令可以创建和解压zip格式的压缩文件,每... 目录Lijavascriptnux 打包和解压命令打包命令解压命令总结linux 打包和解压命令打

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

Python中操作Redis的常用方法小结

《Python中操作Redis的常用方法小结》这篇文章主要为大家详细介绍了Python中操作Redis的常用方法,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解一下... 目录安装Redis开启、关闭Redisredis数据结构redis-cli操作安装redis-py数据库连接和释放增