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

git从零学起

从事了多年java开发,一直在用svn进行版本控制,如今更换了公司,使用的是git进行版本控制,所以打算记录一下git学习的点滴,和大家一起分享。

百度百科:

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1]也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

本来想自己写一份下载安装的记录,但看到以下作者已经做了该工作,节省时间,贴出作者地址,大家可以参考。

包新的Git安装与使用教程(2024九月更新)_git安装包-CSDN博客

以下总结一下git常用到的命令:

git config --global --list  列出全局git配置文件中的变量和值

git config --global user.name "你设置的名称"

git config --global user.email "你的邮箱"

git init :进入目录后,使用该命令即将该目录初始化为git本地仓库

git init -b <分支名称> :初始化一个git仓库,并将分支名称设置为分支名称

        例:git init -b main

git status:展示工作目录和暂存区的状态,属于只读操作

git add <文件名称> :将一个文件添加到暂存区

git add <文件1> <文件2> <文件3>:将多个文件添加到暂存区

git add -A:将多个修改过的文件添加到暂存区(整个项目)

git add . :将多个修改过的文件添加到暂存区(当前目录和子目录)

git commit -m:创建一个新的提交+提交信息备注

git log:按时间倒序展示当前所在分支的提交信息

git log --all:按时间倒序展示本地仓库中所有分支得提交信息

git branch: 列出本地分支

git branch <分支名称>:创建一个分支

git switch <分支名称> :切换到该分支 (git版本大于等于2.23版)

git checkout <分支名称>:切换到该分支

git merge <源分支>:该操作,首先要切换到目标分支,然后将要合并的分支名称传入源分支,即可将要从源分支合并的文件合并到目标分支。

git switch -c <新分支名称>:创建并同时切换到新分支

git checkout -b <新分支名称>:创建并同时切换到新分支

git remote add <连接名> <远程仓库地址>:将本地仓库连接到远程仓库,后续通过连接名访问远程仓库

git remote:列出本地到远程仓库得所有连接名称

git remote -v:列出本地到远程仓库得所有连接名称+URLs

git push <连接名> <分支名称>:将本地分支名称为分支名称中的内容推到和连接名对应的远程分支中。同时在远程仓库创建一个远程分支,并且在本地仓库创建一个远程跟踪分支

git push -u <连接名> <分支名>:设定上游分支通常是为了将当前分支与远程仓库中的分支关联起来,这样你就可以使用像git pullgit push这样的命令而不需要每次指定远程仓库和分支的名称。

git branch --all:列出所有本地分支+远程跟踪分支

git clone git仓库地址:将git项目复制下来

git clone git仓库地址 新的项目名称:git项目复制下来后重新命名

git push <shortname> -d <branch_name>:删除一个远程分支和相关联的远程跟踪分支

git branch -d <branch_name>:删除一个本地分支。删除某个本地分支前要切换到另一个本地分支。

git branch -vv:列出本地分支是否定义了上游分支,同时显示本地分支是提前还是落后于上游分支

git fetch <shortname>:从和<shortname>对应的远程仓库拉取数据。

git fetch -p :删除本地的远程跟踪分支,其在远程仓库中对应的分支已经被删除。(修剪垃圾分支)

项目目录中包含本地仓库和工作目录,除了.git目录之外的目录为工作目录,.git目录为本地仓库。

本地仓库中还包含暂存区和提交历史区。

当我们首次在目录中添加文件时,则会出现两个新概念

相关文章:

  • Windows用户如何零成本迁移Sketch项目?2025实测方案推荐
  • APISIX Dashboard上的配置操作
  • 本地快速搭建一套AI人脸识别技术研究学习的实验环境
  • 【Yonghong GoldenDB 】GoldenDB 安装部署
  • 深度学习-10.门控循环网络
  • AI数字人技术源码开发分享:革新短视频营销策略
  • DaoCloud 亮相 2025 GDC丨开源赋能 AI 更多可能
  • Python实现GO鹅优化算法优化Catboost回归模型项目实战
  • k8s新增Node节点 简单易上手 如何给k8s新添加node节点
  • 千字详解Spring bean的作用域
  • std::set详解与应用:生成不重复的字符,确保每个字符唯一
  • Linux驱动学习(三)--字符设备架构与注册
  • 理解 Rust 的并发特性:`Send` 和 `Sync` 特征
  • 《Qt窗口动画实战:Qt实现呼吸灯效果》
  • 爬虫获取阿里巴巴 item_search 接口:根据关键字获取在售商品数据
  • 3-1 WPS JS宏工作簿的新建与保存(批量新建工作簿)学习笔记
  • yolov8_pose模型,使用rknn在安卓RK3568上使用
  • 如何正确的用 Cursor 打开 Unity 项目
  • Android 12系统源码_多屏幕(四)自由窗口模式
  • [原创]openwebui解决searxng通过接口请求不成功问题
  • 临海高端网站设计新感觉建站/怎样才能在百度上面做广告宣传
  • zblog做企业网站/想做电商应该怎么入门
  • 让别人做网站如何防止后门/网站外部优化的4大重点
  • 没备案的网站怎么做淘客/手机怎么制作网页
  • 企查查询官网入口/优化方案官网
  • 购物商城类网站备案/网络营销的核心