git标签和分支命令

2023-05-16

本编记录git标签和分支的基本命令

=====git 标签基本命令


#查看总共有哪些标签, -l参数用于过滤,比如这里是查看以v开头的所有分支
git tag  -l v* 

#创建一个临时标签,最简单的创建标签的方法
git tag v1

#创建一个附注标签,可以带一些基本信息,后面也可以用于校验的
git tag v2 -a -m "zxc v2"

#根据提交的hash值创建一个标签
#先用git log ->  123124078 查看要打上哪个提交记录的标签

git tag t1 123124078

#删除一个标签
git tag -d v1

#查看标签里面的内容
git show v1

#把本地标签推送到远程上, origin为仓库的名字
git push origin v1

#把本地所有标签推送到远程上,远程存在的不会变为2份
git push --tags

#git中tag无法切换到上面开发(这跟svn差别很大,svn是可以的)
#git中只能以tag再建立一个分支出来进行开发

#建立并切换到上面去
git checkout -b 分支名  tag名




==============git恢复到上一次版本

#可以用
git reset --hard id(提交版本号,从git log 获取的那一长串)
但是这样恢复后会丢失log日志,所以一般建议都是直接建个分支再往回合并


例子如下


A --- B --- C --- D
                (HEAD)

git checkout -b ttt B
git reset --soft D
然后 commit 得到
ttt: A --- B --- C --- D --- B'
                           (HEAD)
把这个branch推到repo的master
git push origin HEAD:master 或者
git push origin ttt:master 都行
完事之后删掉这个临时的ttt branch即可


要么只恢复某个文件也是可以的,再提交一次就行了!

分支命令

对于git来说,创建分支其实很快的,只是建立了一个提交hash引用,几乎在瞬间完成的,这
跟svn是有很大不同的,svn是直接copy一份文件出来的,,,,

当前分支还有一个别名叫  HEAD,用于专门表示你所在的分支的

======git 分支命令

#查看所有分支, --list可加可不加,   origin/test之类的代表是远程分支
git branch --list

#创建一个分支
git branch test

#切换分支
git checkout test

#创建并同时切换到该分支上
git checkout -b dev

#查看未合并的分支
git branch --no-merged

#查看已合并的分支
git branch --merged

#简单的查看提交历史信息   --all查看所有日志信息,包括未合并的分支提交信息
git log --oneline --decorate --graph --all


#删除分支
git branch -d test

#查看当前分支跟踪哪些远程分支中
git branch -vv

#查看远程有哪些分支
git branch -r


========远程分支相关


#拉取一个项目 -o zxc 未仓库命名为zxc 默认不加为 origin
git clone -o zxc xxx.git

#把本地分支推送到远程分支上, origin 为远程仓库名称
git push origin zxc
git push origin local:remote-batchName -> 可以修改要推送到远程的分支名称

#当远程有新分支时拉下来本地不会自动创建对应的分支
#但是可以手工创建一个分支并以远程的分支引用作为跟踪分支(也叫上游分支)
git checkout -b serverfix origin/serverfix

#如果不需要改名的话,可以直接用 --track 参数拉取一个本地分支根据远程的分支
git checkout --track origin/serverfix

#把当前分支关联到远程分支上
git branch -u origin/serverfix

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git标签和分支命令 的相关文章

  • 如何升级 Windows 中 git svn 使用的 SVN 版本?

    我的公司正在将SVN升级到1 7 检查git svn version显示正在使用的SVN版本是1 4 6 我想获得 git svn 使用的 SVN 版本接近 1 7 但是 我没有看到有关更新 git svn 使用的 SVN 版本 在 Win
  • Visual Studio Code 内置故事,用于查看 git 提交历史记录并对其内容进行比较

    In this https stackoverflow com questions 37899765 how can i view the git history in visual studio code 60013101 noredir
  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • 如何解决 VS Code 中变基拉取的合并冲突?

    当我做一个git pull rebase 并且我的提交中存在合并冲突 我得到冲突差异视图 解决所有冲突并暂存文件 然后呢 我可以打开终端并运行git rebase continue但是 VS Code 中不应该有一个按钮来完成变基吗 只需使
  • Git:压缩 master 上提交的最简单方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 git 将最后 X 次提交压缩在一起 https stackoverflow com questions 5189560 how can i squash my last x commits
  • git Blame:合并后正确的作者

    GIT 合并引入了新的提交 这会导致 git Blame 问题 合并的行似乎是由进行合并的开发人员提交的 我可以理解这种情况冲突的变化 因为他解决了冲突 但是有没有办法让非冲突线路不发生这种情况呢 一些 git Blame 的选择 如果没有
  • 在 Azure DevOps 中为 Wix MSI 文件生成 GUID

    我正在为 Web 服务器应用程序和 Sitecore 前端应用程序设置 Wix 安装程序 我的问题并非特定于 Web 服务器或 Sitecore 我的问题是 Wix 以及如何使用它进行持续交付 1 Wix 需要每个文件和产品本身的 GUID
  • 我可以忽略全局 .gitignore 吗?

    我的全局 gitignore 一般都很棒 但对于这个一次性项目 我不希望应用全局规则 如何删除这个怪异存储库的全局 gitignore 规则 在您的存储库中运行此命令 git config local core excludesfile f
  • Spring Cloud Config - 不允许使用 git-upload-pack

    我有一个在 docker 环境中运行的 spring boot 应用程序 它连接到 Git 存储库以获取应用程序的配置 我的问题是 当尝试获取 properties 文件时 应用程序有时会出错 这很奇怪 因为如果我更改用户和密码 同一个应用
  • 使用 TFS REST API 获取 Git 提交的最新关联工作项

    我正在尝试获取关联的工作项使用 TFS REST API 进行 GIT 提交 https www visualstudio com en us docs integrate api git commits 我的请求 URL 如下所示 htt
  • 尝试配置 GIT 时 Eclipse 没有响应

    Windows 10 专业版 64 位SSD金士顿 i5 4690Eclipse 版本 全部工作空间 空问题 每次我尝试配置 TEAM gt GIT gt 配置或尝试导入 创建本地 远程 git 时 Eclipse 都会冻结 直到我强制用任
  • GIT 和 Ruby:如何从 ruby​​ 脚本内部取消设置 GIT_DIR 变量?

    我编写了一个非常简单的 部署 脚本作为我的post update挂钩到我的裸 git 存储库中 变量如下 live domain mydomain com staging domain stage mydomain com git repo
  • 合并 BPM 图表的最佳实践

    我们在 Java 环境中使用 Alfresco 活动图 这些图是有版本的 我们确实使用 GIT 我们经常会遇到合并分支的合并冲突 解决这个问题确实很痛苦 因为我们必须比较文件的文本内容来检查差异 有时 重新应用更改比合并更轻松 是否有合并此
  • 如何让 git 显示作者日期指定日期范围内的提交?

    显然this https stackoverflow com a 11189286 281545 git log all after
  • Android repo 脚本创建的 .repo/projects/ 中的裸 git 存储库的用途是什么?

    The 安卓源码 http android git kernel org 由以下人员管理repo http source android com source version control html 使用 repo 同步时 一个名为 re
  • 删除 Xcode 项目的源代码控制

    我在 Xcode 项目上使用源代码控制已经有一段时间了 但现在我不想使用源代码控制 如何从 Xcode 中的项目中删除源代码控制 有三种方法 方法 1 将禁用所有项目的源代码管理 方法 2 将删除所有项目的单个存储库的链接 方法 3 将删除
  • Git 删除其他人从远程所做的最后提交

    所以 我的情况是 错误地 我已经授予某人对我的分支的承诺 现在 在我的本地 我已经进行了提交 当我尝试将其推送到远程时 它显示远程在前面 因为对方已经将他的代码推送到了这个分支并进行了多次提交 现在 我可以从远程删除这些提交而不将拉取到本地
  • Git:忽略版本控制文件

    gitignore 文件对于忽略一些我们不想控制的文件非常有用 不幸的是 当文件已处于版本控制之下时 它无法使用 例如 我的 gitignore 已添加到 git 中 文件可能与我的同事想要的不同 例如我想忽略 Vim 文件 每当我对此文件
  • 有什么方法可以从提交的消息中获取提交的 SHA 值吗?

    当做一个git tag 我并不总是擅长记住 HEAD 6 例如 是包含的还是排他的 鉴于我的大多数提交都以问题号为前缀 我想知道是否有一些神奇的命令可以从其消息的一部分中搜索提交 SHA 我知道这很容易做到git log并从那里开始工作 但
  • 如何在 git 中将我的功能分支变基到开发分支,尽可能减少冲突?

    我的功能分支已超过大约 30 次或更多提交 与此同时 在开发分支中 其他开发人员还推出了一些其他功能 因此 每次在开发中发布新功能时 我都会被要求 将开发分支重新建立到我的功能分支上 解决冲突 如有 继续在您的功能分支中开发 问题 第二步就

随机推荐