三、更新本地仓库下的文件到远程仓库 git add . git commit -m 'a' git push 四、克隆远程仓库的指定分支 第一步、在E盘创建一个gittest2的文件夹 在当前文件夹下右键...第二步、输入下面指令 git init 注意普通的克隆方式,克隆是默认分支的下的文件 git clone 这里我们克隆一个指定分支zhangx git clone -b zhangx...https://github.com/dop101/test.git 然后查看本地克隆下的文件与github,zhangx分支下是一致的。...把添加的文件提交到版本库,并填写提交备注 git status //查看当前状态,查看本地分支文件信息 git check out -[file name] //若文件有修改,可以还原到最初状态...,则需切换到服务器的远程分支 git pull //更新本地代码 git status //查看当前状态,查看本地分支文件信息 git branch //查看本地所有分支,当前分支 git checkout
协同开发者从服务器上同步更新或上传自己的修改,如SVN 优缺点: 集中版本控制将所有资料保存在一台电脑上,相当于单机存储,保密性较高;但一旦计算机出现损坏,项目备份丢失,无法找回 分布式版本控制 概念...项目开发方式:SVN需要联网获得主机上的项目,然后开发完后推送回原电脑;Git直接开发并比对研究即可 优缺点:SVN安全性低但容易丢失;Git不易丢失但安全性差 Git环境配置 首先我们来讲解Git的安装以及环境配置等信息....git,需要打开隐藏目录标签才可以查看到) $ git init 远程仓库克隆 # 克隆一个项目和它的整个代码历史(版本信息) 提供一个url:https://gitee.com/kuangstudy...这一小节我们来介绍如何在IDEA中使用Git保存数据 创建项目,绑定Git 我们通常将我们远程仓库中的代码直接拷贝复制到当前项目文件夹下即可 此时我们的IDEA页面会发生变化(红色文件为选中文件):...但是我们需要选择要保存某一人的代码而舍弃另一个人的代码 那么我们的日常开发应该是以哪种方式开发呢: master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作 工作一般情况下在新建的dev
初始化Git仓库 在项目目录中打开命令行终端窗口,输入以下命令来初始化Git仓库: git init 这将在当前目录下创建一个.git文件夹,用于存储Git仓库的配置和版本控制信息。 3....Git允许我们在分支之间自由切换,并在不影响主干版本的情况下进行开发和测试工作。 Git中有两种基本类型的分支:主干分支(master)和开发分支(develop)。...的分支合并到当前分支 3.分支管理示例代码 下面的代码展示了如何在Git中创建、切换、删除分支,并将分支合并到主干版本中: # 创建一个新的开发分支 $ git checkout -b develop...轻量级标签只是一个指向某个提交的引用,而附注标签则包含了更多的信息,如标签名称、创建者、创建时间、备注等。...# 将本地branch_name分支的修改推送到名为origin的远程仓库 Git工作流程示例代码 下面的代码展示了如何在Git中进行简单的协作和管理: # 克隆远程仓库到本地 $ git clone
在这次教程中,我们尝试如何在有效的时间内充分掌握提供的 Git 特性。 说明:文中一些指令包含指令的部分在方括号中(如:git add -p [file_name])。...02 忽略 Git 文件 你是否对出现在你 Git 源中编译文件(如 .pyc)感到疲倦?或者对添加这些文件至 Git 上忍无可忍?不用舍近求远,这里有一种方式可以告诉 Git 忽视特定的文件和目录。...然而,git reflog是一个被指向提交的列表。记住:这是你系统的局部,不是源的部分,不包含推送的和合并的。 如果执行 git log,我获取的提交信息是源的一部分。...git fsck 相比 reflog 有一种优势。让我们看看你删除了一个远程的分支,然后克隆源。使用 fsck,你可以查询和恢复删除的远程分支。...用最简单的术语来说,cherry-pick 是从不同的分支中选择单个提交和将它和当前分支的合并。如果你在两个或更多的分支中工作,你可能会注意到 bug 会出现所有的分支。
二、恢复丢失的提交 恢复丢失的Git提交可能会发生在不小心删除提交或分支、强制推送(force push)后丢失历史记录等情况下。...以下是一些常见问题和相应的解决方案,用于恢复丢失的Git提交: 常见问题: 提交被删除或分支被覆盖: 你可能不小心删除了一个提交,或者通过强制推送覆盖了一个分支,导致提交丢失。...git reflog 查找丢失的提交,然后可以使用git cherry-pick或git branch等命令将其恢复到一个新的分支或分支上。...查看GitHub或GitLab等远程仓库: 如果你的丢失的提交曾经被推送到远程仓库(如GitHub或GitLab),可以在远程仓库的历史记录中查找并恢复它们。...备份或克隆: 如果以上方法都无法找回丢失的提交,如果你有一个备份或克隆了丢失提交之前的仓库,可以从备份或克隆中复制丢失的提交并重新应用到当前仓库中。
当开始一个新的项目或者想要克隆一个已经存在的、包含多个 Git 仓库的大型项目时,repo init 命令会帮助设置项目的初始环境。...Bundle 文件是 Git 仓库的压缩包,可以加快克隆速度,但在某些情况下可能不可用或不需要。 使用 repo sync 时,它会首先检查每个仓库的当前状态,然后确定哪些仓库需要克隆或更新。...这对于开始新特性的开发或进行bug修复等任务非常有用,因为它允许你在不影响主分支(如main或master)的情况下进行工作。...这包括每个仓库的当前分支、跟踪的远程分支以及可能的其他分支。这对于理解当前项目的分支状态非常有用。...用法示例: repo prune 如果不指定,则默认清理当前分支的合并分支。
Git 初始化 初始化代码仓库 创建一个空的 Git 仓库或者重新初始化一个已存在的 git init 克隆代码仓库 将 foo 仓库克隆到一个名为 foo 的新目录中: git clone https...://github.com//foo.git foo Git 分支 如何在 Git 仓库中创建一个新的分支 当您想开发一个新需求时,通常会在 Git 中创建一个新分支。...~1 && git push -f origin master Git 获取 当使用 git fetch 时,git不会将其他提交与当前分支合并。...如果不密切管理分支,可能会遇到冲突。...重新基础将一个分支的更改重新写入另一个分支,而不创建新的提交。
二、核心操作流程:从创建仓库到提交代码 Git 的核心操作围绕 “仓库(Repository)” 展开,仓库是存储项目代码和版本历史的地方。以下流程适用于本地项目初始化和从远程仓库克隆两种场景。...场景 2:从远程仓库克隆项目(团队协作常用) 如果是参与团队项目,通常需要从远程仓库(如 GitHub、Gitee、GitLab)克隆项目到本地,再进行开发。...,更直观) git switch feature/login 切换分支前,需确保当前分支的修改已提交(或暂存),否则可能导致修改丢失。...拉取远程代码到本地 \# 拉取当前分支对应的远程分支代码(保持本地与远程同步) git pull \# 拉取指定远程分支的代码到本地(如拉取远程develop分支到本地develop分支) git...如果在当前分支有未提交的修改,直接切换分支,Git 会提示 “本地修改将被覆盖”,若强行切换(git switch -f 分支名),未提交的修改会丢失。
--soft:仅移动HEAD指针和当前分支引用,不更改索引和工作目录。这允许你撤销最近的提交并重新提交。 --mixed(默认选项):移动HEAD指针和当前分支引用,并将索引重置为指定的提交。...而 git checkout 则具有更多的功能,可以用于切换分支、创建新分支、恢复文件等。 引起修改的情况不同: 在某些情况下,使用 git checkout 可能会导致未提交的更改被覆盖或丢失。...如下,现在远程仓库的版本是第四次提交: 现在新建一个分支并回退到第三版: 运行git pull命令没报错即拉取成功: 克隆远程仓库 在使用 git clone 命令进行克隆时,你有两种选择: 克隆到新建的项目目录...例如: cd 的项目目录> git clone 在这种情况下,git clone 命令会将远程仓库的内容复制到当前目录中,并自动创建一个新的默认分支。...这里以很火的java开源博客系统halo为例: 注意: 默认情况下,git clone 命令会克隆远程仓库的所有分支。
而且,所有数据都保存在单一的服务器上,有很大风险这个服务器会损坏,这样就会丢失所有的数据,当然也可以定期备份。...1、创建全新仓库,需要用Git管理项目的根目录执行: # 在当前目录新建一个Git代码库 $ git init 2、执行后可以看到,仅仅在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面...# 克隆一个项目和它的整个代码历史(版本信息) $ git clone url 2、去Gitee上或者GitHub上克隆一个测试!...列出分支基本命令: git branch 没有参数时,git branch 会列出你在本地的分支 $ git branch * master 此例的意思就是,我们有一个叫做master的分支,并且该分支是当前分支...当你执行 git init 的时候,默认情况下Git就会为你创建 master 分支。 如果我们要手动创建一个分支,执行创建分支命令即可。
#在当前目录初始化仓库git init#在test_dir目录下初始化仓库git init test_dir克隆命令 git clone 用于克隆一个仓库,克隆完成后会生成一个与远程仓库同名的目录,包含所有元数据...git rebase 用于重设基底,合并对方分支的最新提交,并将最新提交作为当前分支的基底。 git cherry-pick 用于合并某一个提交。 ...分支冲突的表示:当前更改 ======= 传入的更改 >>>>>>> 分支冲突的解决:选择采用当前更改,或选择传入的更改,或选择保留双方更改,或人工修改。...工作流gitflow 工作流 gitflow 是一种常用的 git 工作流,用于管理大型项目,其分支结构如下: 其中:master:主干,保持与线上运行版本一致。...作用域:可选,表示影响范围,如组件名或模块名等。描述:必须,简短描述。正文:可选,详细描述。脚注:可选,如记录不兼容改动以 BREAKING CHANGE 开头加描述,如关闭 issue。
克隆 点击克隆按钮,克隆项目: 既可以是本地已有的git项目,也可以是远程目录中的项目, ? 本地存在的git项目, 获取项目克隆地址,点击克隆按钮,如图所示: ?...1、克隆项目的路径 2、克隆项目存放的位置 3、如果要下载特定的分支,可以按分支进行下载 注:如果箭头指向的仓库类型表明“这不是一个标准的Git仓库”,可能是有以下原因 1) 项目地址获取错误... 2) 没有项目访问权限 配置忽略文件 利用.gitignore过滤文件,如编译过程中的中间文件,等等,这些文件不需要被追踪管理。....gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了 使用sourcetree添加忽略文件的方法: 正常情况下,管理员创建项目后需要直接将忽略文件创建好...不妨把它看成一个跛脚的 Git,在实际使用中不推荐这样使用GIT。
git是分布式版本控制系统,与之对应的是集中式版本控制。分布式和集中式最大的不同,分布式并不是提取最新版本的文件快照,而是把代码仓库完整的克隆下来。每一次克隆操作都是对代码仓库的完整备份。...所以,如果代码仓库的服务器发生故障,都可以用任何一个本地镜像仓库恢复,整个项目的历史记录都不会丢失。同时Git拥有完善的分支管理系统,可以指定与多个远程代码仓库交互协作开发。...git clone --recursive 。 示例:ESP32的SDK内有很多第三方开源组件作为子模块,如果不拉取全部,将导致有些功能无法正常编译。...如远程分支是与当前分支合并,则冒号后面的部分可以省略。 git会自动在本地分支与远程分支之间建立一种追踪关注。...如当前分支与远程分支存在追踪关系,可省略远程分支名 示例:git pull origin 如当前分支只有一个追踪分支,可省略远程主机名 示例:git pull 9.git push git push用于将本地分支更新
--all # 查看分支的详细信息(如最后一次提交) git branch -v # 或 git branch --verbose # 查看已合并到当前分支的分支 git branch --merged...恢复丢失的分支或提交 git checkout -b # 例如:git checkout -b recover-branch abc123 7....使用Wiki详细记录项目的架构、API等信息 为代码添加适当的注释 使用文档生成工具(如JSDoc、Sphinx等)自动生成API文档 14....下面介绍如何在三大平台上配置基本的自动化工作流。...ID,可以使用:git checkout -b branch-name commit-id 使用git reflog查找丢失的分支引用 问题5:Git工作区变得混乱 解决方案: 使用git stash暂存当前的更改
这种模式的缺点很明显: 依赖网络:断网后无法提交代码、查看历史版本,完全无法工作; 单点故障:中央服务器宕机或数据损坏,整个项目的代码历史可能丢失; 协作低效:多人同时修改同一个文件时,需要频繁获取最新代码...核心命令 # 拉取远程分支的修改,并合并到当前本地分支 git pull 分支名> # 完整格式(拉取远程分支并合并到指定本地分支) git pull 分支名...远程仓库的master分支,合并到本地当前分支(需确保当前分支是master) git pull origin master 拉取成功的输出 remote: Enumerating objects: 5...4.1 忽略特殊文件(.gitignore) 在项目开发中,有些文件不应该提交到 Git 仓库,例如: 编译生成的二进制文件(如.exe .so .class); 配置文件(如保存数据库密码的...alias.st 别名配置的最佳实践 全局别名:配置通用命令的别名(如st co br),所有仓库共享; 仓库别名:配置项目特定的别名(如项目专属的日志格式),仅当前仓库生效; 避免冲突:别名不要与
最坏的情况是彻底丢失整个项目的所有历史更改记录。 ? 分布式版本控制系统的客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。...工作区域 与文件状态对应的,不同状态的文件在 Git 中处于不同的工作区域。 工作区(working) 当你 git clone 一个项目到本地,相当于在本地克隆了项目的一个副本。...将修改作为当前分支的草稿保存 $ git stash # 2....$ git branch -d # 强制删除本地分支,将会丢失未合并的修改 $ git branch -D 切换分支 # 切换分支 $ git checkout...后面,你在克隆你的 Github 项目时使用 SSH 方式即可。 ?
git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力 安装 安装,其实很简单,和普通软件安装无异。这里不介绍了。...初始化git的方法有很多种 在本地创建 在gitlab或github上创建,git clone下来, 图形界面上创建 远程 克隆仓库 执行如下命令可以创建一个本地克隆版本: git clone /path...要合并其他分支到你当前分支(如master),执行: git merge 在这两种情况下,git都会尝试去自动合并并改动。...,进行开发,如何在本地拉去项目中最新的项目。...如想深入,建议官方文档。
一、版本控制软件 就是一个软件可以记录每次提交的代码,防止代码丢失可以解决代码冲突 常见的git、svn 二、仓库(远程) 常用远程仓库:码云gitee(国内)、gitlab(开源项目)、github(...--global user.email ‘邮箱’ 2.克隆 git clone 仓库地址 3.进入项目开发 cd 项目名 二、ssh(一次声明永久使用) 1.生成密钥 ssh-keygen -t...branch 查看自己创建的(克隆的仓库就算创建的第一个分支) git branch -r 查看从远程缓存的分支 git branch -a 查看1+2 创建分支 git branch 分支名 (基于当前分支...2 大家普遍克隆的是dev 因为它是默认分支,然后老大说一句话 让你拉去login分支代码开发 基于码云的login分支开发代码(即基于远程创建分支) 解决: git branch login 错误的...标签名 git tag -d 标签名 合并分支 git merge 分支名 指定分支合并到当前分支 git pull 远程仓库的数据拉到本地"合并" git fetch 远程仓库的数据拉到本地"不合并
origin master 作用:推送最新修改 git remote -v 作用:查看远程库信息 git remote rm 远程库名 作用:解除与远程库的绑定关系 git clone 地址 作用:克隆项目到本地仓库...git clone git地址 '文件存放路径’ 作用:将克隆下来的文件,存放在设定的文件夹中(注意:如果所填写的文件夹名不存在,将自动创建) git branch 作用:查看所有分支 git branch...创建分支,并且切换到新创建的分支上(注意:2.23版本更新的) git --version 作用:查看当前git版本 git update-git-for-windows 作用:更新git git merge...分支名 作用:合并某分支到当前分支(注意:这种合并是快速模式,会丢失分支信息) git branch -d 分支名 作用:删除指定分支 git push origin --delete 分支名 作用:...:做与c531a92提交相同的改动 git branch -D 分支名 作用:强制删除分支,分支未合并删除会丢失数据 ---- 使用工具提交代码失误了,以致于我现在对tortoiseGit不抱希望。
Git 提供强大的分支管理功能,可以在不干扰主分支的情况下开发新功能或修复 bug。 1.2 Git 与其他版本控制系统的区别 集中式版本控制系统(如 SVN):所有的代码版本保存在一个中央服务器中。...支持分支和合并:Git 提供强大的分支管理和合并功能,便于团队协作。 数据完整性:Git 使用 SHA-1 哈希值确保版本数据的完整性,防止数据丢失。 2....Git 分支管理 5.1 分支的概念 分支是 Git 中一个非常强大的功能,它允许你在不影响主分支(通常是 master 或 main)的情况下进行开发。...Git 工作流 6.1 基本工作流 Git 的基本工作流包括以下步骤: 从远程仓库克隆项目。 在本地创建新的分支进行开发。 完成开发后,提交更改并推送到远程仓库。 合并到主分支并推送到远程仓库。...如果你已经执行了 git add,此命令将取消暂存,但不会丢失文件中的更改。