首页
学习
活动
专区
圈层
工具
发布

Git常用命令及方法和分支管理

如果想正式对外发布,就在Master分支上,对Develop分支进行"合并"(merge)。...master 对Develop分支进行合并 git merge --no-ff develop 这里稍微解释一下,上一条命令的--no-ff参数是什么意思。...-1.2 最后,删除预发布分支 git branch -d release-1.2 修补bug分支 最后一种是修补bug分支。...这时就需要创建一个分支,进行bug修补。 修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。它的命名,可以采用fixbug-*的形式。 ?...不过,这是有条件的,就是你还没有把自己的本地版本库推送到远程。Git是分布式版本控制系统。 在工作中对某个文件(如readme.txt)进行多次修改交commit。

73540
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    信不信,7 张图就能让你把 Git 分支管理拿捏的死死的。。

    这个分支可以用来生成代码的最新隔夜版本(nightly)。如果想正式对外发布,就在Master分支上,对Develop分支进行"合并"(merge)。...checkout master # 对Develop分支进行合并 git merge --no-ff develop 这里稍微解释一下上一条命令的--no-ff参数是什么意思。...git merge --no-ff release-1.2 最后,删除预发布分支: git branch -d release-1.2 最后一种是修补bug分支。...这时就需要创建一个分支,进行bug修补。 修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。它的命名,可以采用fixbug-*的形式。...07/git.html 为了把 Git 这条线学好,建议大家把前面 5 个章节回顾一下: 可能是 Git 历史上最伟大的一次代码提交 终于有人把 Git 的数据模型讲清楚了 昨晚看完 Linus 第一次提交的

    81521

    Pro Git研读精选:分支介绍和分支合并

    本文摘取自《Pro Git》第三章的第一节和第二节,由本人进行适当修改和删减。 何谓分支 为了理解 Git 分支的实现方式,我们需要回顾一下 Git 是如何储存数据的。...,Git 会先计算每一个子目录(本例中就是项目根目录)的校验和,然后在 Git 仓库中将这些目录保存为树(tree)对象。...Git 会使用 master 作为分支的默认名字。在若干次提交后,你其实已经有了一个指向最后一次提交对象的 master 分支,它在每次提交的时候都会自动向前移动。 ?...首先,我们假设你正在项目中愉快地工作,并且已经提交了几次更新(见图3-10)。 ? 现在,你决定要修补问题追踪系统上的 #53 问题。顺带说明下,Git 并不同任何特定的问题追踪系统打交道。...这次,Git 没有简单地把分支指针右移,而是对三方合并后的结果重新做一个新的快照,并自动创建一个指向它的提交对象(C6)(见图 3-17)。这个提交对象比较特殊,它有两个祖先(C4 和 C5)。

    75820

    如何克服解决Git冲突的恐惧症?(Git分支策略)

    这个分支可以用来生成代码的最新隔夜版本(nightly)。如果想正式对外发布,就在Master分支上,对Develop分支进行”合并”(merge)。...master # 对Develop分支进行合并 git merge --no-ff develop 功能分支 功能分支,它是为了开发某种特定功能,从Develop分支上面分出来的。...--no-ff feature-x 删除feature分支: git branch -d feature-x 预发布分支 预发布分支,它是指发布正式版本之前(即合并到Master分支之前),我们可能需要有一个预发布的版本进行测试...--no-ff release-1.2 # 对合并生成的新节点,做一个标签 git tag -a 1.2 再合并到develop分支: git checkout develop git merge --...这时就需要创建一个分支,进行bug修补。 修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。它的命名,可以采用fixbug-*的形式。

    79820

    Git基础和规范-协同开发

    关于版本控制 什么是版本控制: 官方说法:版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统,你可以对任何类型的文件进行版本控制。...我们把开发用的分支,叫做 develop。 如果想正式对外发布,就在Master分支上,对develop分支进行"合并"( merge )。...merge --no-ff feature-x 删除feature分支:   git branch -d feature-x 修补分支-fixbug ?...修补分支:软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。 修补bug分支是从master分支上面分出来的。修补结束以后,再合并进master和develop分支。...-0.1 最后,删除"修补bug分支":   git branch -d fixbug-0.1 其他分支-tag/release tag分支 :打版本分支,每次上线前需要打一个版本,可以采用 tag-版本号

    1.6K50

    8.3 自定义 Git - Git 钩子

    安装一个钩子 钩子都被存储在 Git 目录下的 hooks 子目录中。 也即绝大部分项目中的 .git/hooks 。...该钩子接收一些选项:存有当前提交信息的文件的路径、提交类型和修补提交的提交的 SHA-1 校验。...在本章的最后一节,我们将展示如何使用该钩子来核对提交信息是否遵循指定的模板。 post-commit 钩子在整个提交过程完成后运行。...你可以在推送开始之前,用它验证对引用的更新操作(一个非零的退出码将终止推送过程)。 Git 的一些日常操作在运行时,偶尔会调用 git gc --auto 进行垃圾回收。...你可以用这个钩子阻止对引用进行非快进(non-fast-forward)的更新,或者对该推送所修改的所有引用和文件进行访问控制。

    1.9K20

    git小技巧

    git stash 应用场景 当正在某个分支A上开发某个项目,这时项目中出现一个bug需要紧急修复,但是正在开发的内容只是完成一半还不想提交,这时git stash命令可以将修改的内容保存至堆栈区,等修复完成后...本应该在dev分支开发的内容,却在master上进行了开发,需要重新切回到dev分支上进行开发,可以用git stash将内容保存至堆栈中,切回到dev分支后,再次恢复内容即可。...HEAD is now at 454104b Initial commit 注:如何该文件是新添加的,需要git add先添加到暂存区。...命令 比如: $ git commit -m 'initial commit' $ git add forgotten_file $ git commit --amend 注:当你在修补最后的提交时,...你对那个文件在本地的任何修改都会消失——Git 会用最近提交的版本覆盖掉它。 除非你确实清楚不想要对那个文件的本地修改了,否则请不要使用这个命令。

    55210

    Git 中文参考(四)

    file1,file2,…与一个文件 X 进行比较,并显示 X 与每个文件 N 的不同之处。...边界提交以-为前缀。 历史简化 有时您只对历史记录的某些部分感兴趣,例如修改特定的提交。但 _ 历史简化 _ 有两个部分,一部分是选择提交,另一部分是如何做,因为有各种策略来简化历史。...file1,file2,…与一个文件 X 进行比较,并显示 X 与每个文件 N 的不同之处。...git cherry-pick -n master~1 next 将工作树和索引应用于 master 指向的第二个最后一次提交所引入的更改以及 next 指向的最后一个提交,但不要使用这些更改创建任何提交...此选项会覆盖该行为,允许对具有空消息的提交进行重新定位。 另见下面的不兼容的选项。 --skip 跳过当前修补程序重新启动重定位过程。

    1.6K10

    Git 介绍

    即每个成员本地都是一个完整的版本库,都可以看成是中心仓库。Git 分布式的设计理念有助于减少对中心仓库的依赖,从而有效降低中心仓库的负载,改善代码提交的灵活性。 ?...2,离线操作 由于整个仓库都在本地,很多操作可以在不需要联网的时候进行。...于是我们需要单独创建一个预发布分支,进行一些小的 bugfix 修改。预发布分支测试完成后,必须合并进 develop 和 master 分支,再执行发布。...四,Git 子模块: Git 子模块和 SVN 里面的 externals 相似,即在代码库的子目录中中引入另外一个代码库,并保持两个仓库的独立性。...path = rack url = git://github.com/chneukirchen/rack.git 尽管 rack 是工作目录里的子目录,但 Git 把它视作一个子模块。

    1.1K20

    Git 介绍

    即每个成员本地都是一个完整的版本库,都可以看成是中心仓库。Git 分布式的设计理念有助于减少对中心仓库的依赖,从而有效降低中心仓库的负载,改善代码提交的灵活性。 ?...2,离线操作 由于整个仓库都在本地,很多操作可以在不需要联网的时候进行。...于是我们需要单独创建一个预发布分支,进行一些小的 bugfix 修改。预发布分支测试完成后,必须合并进 develop 和 master 分支,再执行发布。...四,Git 子模块: Git 子模块和 SVN 里面的 externals 相似,即在代码库的子目录中中引入另外一个代码库,并保持两个仓库的独立性。...path = rack url = git://github.com/chneukirchen/rack.git 尽管 rack 是工作目录里的子目录,但 Git 把它视作一个子模块。

    1.2K80

    8.4 自定义 Git - 使用强制策略的一个例子

    使用强制策略的一个例子 在本节中,你将应用前面学到的知识建立这样一个 Git 工作流程:检查提交信息的格式,并且指定只能由特定用户修改项目中特定的子目录。...某些用户具有全部的访问权,其他人只对某些子目录或者特定的文件具有推送权限。 为了实现这一点,你要把相关的规则写入位于服务器原始 Git 仓库的 acl 文件中。...测试一下 如果已经把上面的代码放到 .git/hooks/update 文件里了,运行 chmod u+x .git/hooks/update,然后尝试推送一个不符合格式的提交,你会得到以下的提示:.../usr/bin/env ruby $user = ENV['USER'] # [ 插入上文中的 get_acl_access_data 方法 ] # 仅允许特定用户修改项目中的特定子目录...然而,这是个不错的练习,而且理论上能帮助你避免一次以后可能不得不回头修补的变基。

    1.1K40

    Git 中文参考(六)

    \ n”在补丁电子邮件中的内容应该出现在表示提交消息结束的三个虚线之后。 特定于 MUA 的提示 以下是有关如何使用各种邮件程序成功提交内联补丁的一些提示。...将指定的提交或树对象提交给 SVN。这取决于您导入的获取数据是最新的。这使得在提交 SVN 时绝对不会尝试进行修补,它只是用树中指定的文件或提交覆盖文件。...使用-r / - revision 来引用特定的修订版。 show-ignore 递归查找并列出目录上的 svn:ignore 属性。...特别是,get-mark命令可以在提交过程中使用,但不能在data命令的中间使用。 有关如何安全读取此输出的详细信息,请参阅下面的“对命令的响应”。...了解已处理了多少数据流后,您的用户会感觉更好。 包装优化 打包 blob 时,fast-import 总是试图对写入的最后一个 blob 进行处理。

    2K10

    Git中文命令大全

    0640将创建一个组可读的存储库, 但不能对其他组进行写入或访问。0660将创建一个对当前用户和组可读可写的回购, 但其他人无法访问。...对于二进制文件,输出两个-而不是说 0 0 --shortstat # 只输出--stat包含修改文件总数的格式的最后一行...它允许你使用空的提交消息创建一个提交,而不使用像git-commit-tree [1]命令 --cleanup= # 这个选项决定了在提交之前应该如何清理提供的提交消息...# 在切换分支时,如果对当前分支与切换到的分支之间的一个或多个文件进行本地修改,则该命令将拒绝切换分支以便在上下文中保留修改 --conflict= #...>] [[\--] …​] 选项: -n, --numbered # 根据每个作者的提交数量而不是作者字母顺序对输出进行排序

    2.1K00

    Git Flow 模型的增强版,可以是怎么样的,解决传统 Git Flow 的缺陷

    每一个提交(甚至是修补程序)也是开发的一部分。 只需要确保团队中只有一个人在执行这一任务:这就是所谓的“发布经理”角色。...发布经理通常是最有经验和/或最资深的团队成员,但是团队应该明智地避免任何特定的团队成员永久地承担这个角色。 在开发分支的提示提交处创建一个新的本地主分支。...同样,在这种情况下,这并不像看起来那么不安全,因为: 我们只是将主分支指针从一个提交移动到另一个提交。 每次只有一个特定的团队成员在做这个更改。...作为最后一步,从 main 中选择提交来开发,以确保下一个版本将包含所有修复。...我很想知道增强的 Git 流在更大的团队和更复杂的项目中如何发挥作用,在这些项目中修补程序可能会更频繁地出现。 我对增强的 Git 流模型的积极体验也主要围绕着封闭源代码的商业项目。

    76230

    增强版 Git Flow 模型

    每一个提交(甚至是修补程序)也是开发的一部分。 只需要确保团队中只有一个人在执行这一任务:这就是所谓的“发布经理”角色。...发布经理通常是最有经验和/或最资深的团队成员,但是团队应该明智地避免任何特定的团队成员永久地承担这个角色。 在开发分支的提示提交处创建一个新的本地主分支。...同样,在这种情况下,这并不像看起来那么不安全,因为: 我们只是将主分支指针从一个提交移动到另一个提交。 每次只有一个特定的团队成员在做这个更改。...作为最后一步,从 main 中选择提交来开发,以确保下一个版本将包含所有修复。...我很想知道增强的 Git 流在更大的团队和更复杂的项目中如何发挥作用,在这些项目中修补程序可能会更频繁地出现。 我对增强的 Git 流模型的积极体验也主要围绕着封闭源代码的商业项目。

    49420

    git创建分支,合并分支,常用命令

    ,Git 会先计算每一个子目录(本例中就是项目根目录)的校验和,然后在 Git 仓库中将这些目录保存为树(tree)对象。...分支其实就是从某个提交对象往回看的历史 那么,Git 又是如何创建一个新的分支的呢?答案很简单,创建一个新的分支指针。...这一点值得牢记:Git 会把工作目录的内容恢复为检出某分支时它所指向的那个提交对象的快照。它会自动添加、删除和修改文件以确保目录的内容和你当时提交时完全一样。 接下来,你得进行紧急修补。...,然后以基底分支(也就是主干分支master)最后一个提交对象(C4)为新的出发点,逐个应用之前准备好的补丁文件,最后会生成一个新的合并提交对象(C3’),从而改写 experiment 的提交历史,使它成为...然后又从 C3 的地方再增加一个client 分支来对客户端代码进行一些相应修改,所以提交了 C8 和 C9。最后,又回到 server 分支提交了 C10。 ? 图 3-31.

    15.5K51

    Git 相关问题

    相反,它直接在主目录本身包含 .git 子目录中的所有内容,其中工作目录包括: 一个 .git 子目录,其中包含你的仓库所有相关的 Git 修订历史记录。 工作树,或签出的项目文件的副本。 Q5....”或“index”的中间区域中对其进行格式化和审查。...如何找到特定提交中已更改的文件列表? 对于这个问题,不能仅仅是提供命令,还要解释这个命令究竟做了些什么。...git config 命令可用来更改你的 git 配置,包括你的用户名。 下面用一个例子来解释。 假设你要提供用户名和电子邮件 ID 用来将提交与身份相关联,以便你可以知道是谁进行了特定提交。...你可以在这个脚本中运行其他工具,例如 linters,并对提交到存储库中的更改执行完整性检查。 最后举个例子,你可以参考下面的脚本: 1#!

    3.1K10

    Git最全系列教程(三)

    ,Git 会先计算每一个子目录(本例中就是项目根目录)的校验和,然后在 Git 仓库中将这些目录保存为树(tree)对象。...分支其实就是从某个提交对象往回看的历史 那么,Git 又是如何创建一个新的分支的呢?答案很简单,创建一个新的分支指针。...这一点值得牢记:Git 会把工作目录的内容恢复为检出某分支时它所指向的那个提交对象的快照。它会自动添加、删除和修改文件以确保目录的内容和你当时提交时完全一样。 接下来,你得进行紧急修补。...Git 为分支合并自动识别出最佳的同源合并点。 这次,Git 没有简单地把分支指针右移,而是对三方合并后的结果重新做一个新的快照,并自动创建一个指向它的提交对象(C6)(见图 3-17)。...然后又从 C3 的地方再增加一个 client 分支来对客户端代码进行一些相应修改,所以提交了 C8 和 C9。最后,又回到 server 分支提交了 C10。 ? 图 3-31.

    1.4K30
    领券