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

GIT指令大全详解

目录

GIT指令详解

拉取

提交

分支操作(假设分支为a)

版本回退

主分支拉取到分支

常用的Git指令

一、初始化配置

二、初始化仓库

三、检查当前文件状态

四、添加

五、查看提交历史

六、撤销更改

七、查询

八、分支

九、标签管理

十、其他常用指令


GIT指令详解

Git是一个开源的分布式版本控制系统,可以有效、高效地处理从小型到大型项目的版本管理。

拉取

git init   
git clone  https://gitee.com     克隆远程资源
cd project202301                   进入project202301文件夹
git pull                                    下载拉取

提交

git add .                                         添加缓存区
git  commit -m "提示信息"             提交
git push                                      提交到远程仓库

一个完整的上传和拉取过程
先使用git init 初始化,再使用git clone 远程路径拉取资源到本地
在本地编辑代码,使用git add . 提交到暂存区
使用git commit -m ‘’提交
使用git push 提交到远程 
其他人可以使用git pull拉取一下 查看是否把其他人上传的东西下载到自己电脑上

注意中间可能遇见的问题 
  1 在第一次push的时候 有可能输入账号和密码 账号就是绑定的邮箱 密码是码云的密码
  2 注意一定在文件的根目录下使用指令 也就是有时候要是cd 进入下一层文件中

分支操作(假设分支为a)

git branch --list 查看所有分支

git branch -r 查看远程分支

git pull origin master 拉取远程分支数据

01   git branch                                                  查看分支
02   git branch  a                                            先创建分支
03   git checkout a                                         切换到指定的分支
04   git push -u origin a                                 推送本地分支到远程仓库:
05   git add .                                                 在分支写东西之后 添加分支文件到缓存区
06   git commit -m “信息”                         提交本地分支上
07   git push                                                  提交到远程分支上
08   git checkout master                                切回主分支 目前在主分支上
09   git merge a                                            合并到主分支上  目前在主git分支上
10   git push                                                  提交到远程主分支上 目前在主分支上

版本回退

1 git log --oneline查看日志
2  git reset --soft <commit_id>  为你想要回退到的那个提交的哈希值。例如,如果你想要回退到哈希值为abc123的提交,并保留更新
git reset --hard abc123               硬回退会永久删除这个提交点之后的所有更改,请谨慎使用。如果你已经将更改推送到了远程仓库
3  git push  --force  提交
 

主分支拉取到分支

转载网站: https://worktile.com/kb/ask/263106.html

在使用Git时,我们经常会遇到需要从主分支上拉取代码到其他分支的情况。下面我将详细介绍如何将主分支(通常是master)的代码拉取到其他分支。

首先,确保你已经切换到目标分支。你可以使用以下命令来切换分支:

git checkout  A

其中 A 是你想要切换到的分支的名称。

接下来,执行以下命令,将主分支的代码拉取到当前分支:

git merge master

这里的`master`是主分支的名称,如果你的主分支不是`master`,则需要将其替换为你的主分支名称。

执行完上述命令后,Git会尝试将主分支的最新代码合并到当前分支。如果有冲突发生,你需要手动解决冲突。

另外,你也可以使用`git rebase`命令将主分支的提交应用到当前分支。这可以保持提交历史的线性。执行以下命令:

git rebase master

如果你想拉取主分支的代码,并且希望保留主分支的提交历史,你可以使用以下命令:

git cherry-pick A

将A替换为主分支中的具体提交的ID。

总之,无论是`git merge`还是`git rebase`,都可以将主分支的代码拉取到其他分支。具体使用哪种方式取决于你的需求以及版本控制的策略。

常用的Git指令

一、初始化配置

git version  查看版本号
git config --global user.name 查看用户名
git config --global user.name “serena” 修改用户名
git config --global user.email 查看邮箱
git config --global user.email serena@example.com 修改邮箱
git config --list 查看配置列表
git config --global --list --show-origin git全局设置文件地址查询

二、初始化仓库

git init 初始化本地仓库

三、检查当前文件状态

git status     检查当前文件状态

四、添加

git add .   提交所有文件到暂存区
git add [file]  提交指定文件
git commit -m “msg” 将暂存区提交到仓库区

五、查看提交历史

git log        查看提交历史

六、撤销更改

git checkout [file]    撤销工作目录中的更改
git reset [file]     撤销暂存区的更改
git reset --hard     重置所有更改

git reset HEAD [filename] 撤销暂存区某个文件的修改
git reset HEAD . 撤销暂存区某个文件的修改

git commit --amend 撤销提交,注释写错了,重新给用户一次机会改注释

七、查询

git status 查看工作目录中文件的状态(已跟踪(已提交 已暂存 已修改) 未跟踪)
git diff 查看未暂存的修改
git diff --cache 查看未提交的暂存
git log --oneline 查看提交记录

八、分支

git branch  列出所有分支
git branch [branch-name]    创建新分支
git checkout [branch-name]   切换到指定分支
git checkout -b [branch-name]   创建并切换到新分支
git merge [branch-name]    合并指定分支到当前分支

git push -u origin [branch-name]   推送本地分支到远程仓库:
git branch -d [branch-name]    删除分支

git branch -D [branch-name]    强制删除分支

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

九、标签管理

git tag    列出所有标签
git tag [tag-name]    创建轻量级标签
git tag -a [tag-name] -m "[message]"    创建带有注释的标签
git tag -d [tag-name]    删除本地标签
git push [remote-name] [tag-name]   推送标签到远程仓库
git push [remote-name] --delete [tag-name]   删除远程标

十、其他常用指令

git rm [file]    删除文件
git mv [file-original] [file-renamed]   重命名文件
git diff -- [file]    查看文件内容改动
git stash    暂存当前工作进度

git stash pop    应用之前stash的工作进度

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Android 获取短信验证
  • 制造企业技术图纸不受控的影响与规避方法
  • 漏洞复现-Apache Commons Text远程代码执行漏洞(CVE-2022-42889)
  • 使用 OpenAI Whisper v2 模型进行中英文混合语音识别
  • SpringBoot + Hadoop + HDFS + Vue 实现一个简单的文件管理系统
  • linux常用命令备忘录
  • Mapper使用记录
  • Java 并发编程:线程变量 ThreadLocal
  • OceanBase VS Doris 对比分析
  • Bio_ClinicalBERT 医疗临床领域大模型,参数里 0.11B【Hugging face 】
  • C语言 软件设计的七大原则,及其应用案例
  • labelme标注的图像分割json文件转图片格式
  • Flutter 学习 一部分注意点记录
  • css实现磨砂效果(filter 与 backdrop-filter 的对比分析)
  • Lambda 表达式:解锁编程世界的魔法之门
  • [笔记] php常见简单功能及函数
  • AHK 中 = 和 == 等比较运算符的用法
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Django 博客开发教程 16 - 统计文章阅读量
  • GitUp, 你不可错过的秀外慧中的git工具
  • Java|序列化异常StreamCorruptedException的解决方法
  • JavaScript 基础知识 - 入门篇(一)
  • linux学习笔记
  • Node 版本管理
  • Nodejs和JavaWeb协助开发
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • React-生命周期杂记
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 给Prometheus造假数据的方法
  • 基于组件的设计工作流与界面抽象
  • 通过几道题目学习二叉搜索树
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • Java总结 - String - 这篇请使劲喷我
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #大学#套接字
  • $nextTick的使用场景介绍
  • (Python第六天)文件处理
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (论文阅读30/100)Convolutional Pose Machines
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (三)Honghu Cloud云架构一定时调度平台
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET 通过系统影子账户实现权限维持
  • .NET中使用Redis (二)
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • @angular/cli项目构建--Dynamic.Form
  • @RequestMapping-占位符映射
  • @Resource和@Autowired的区别
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [ C++ ] STL_vector -- 迭代器失效问题