2、git进阶操作

这篇具有很好参考价值的文章主要介绍了2、git进阶操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2、git进阶操作

2.1.1 分支的创建

命令 参数 含义
git branch (git checkout -b) <new_branch> <old_branch> 表示创建分支
-d <-D> 删除分支 –d如果分支没有合并,git会提醒,-D强制删除
-a -v 查看分支
-m 重新命名分支
commit id 从指定的commit id签出代码 git branch branch_name commit id
$ git push origin branch_name将本地分支推到远程
$ git push origin branch_name --delete 将远程分支删除
### 2.1.2 分支的合并
命令 参数 含义
git merge <branch_name> 需要合并的分支
--abort 终止合并,并回复文件
--continue 继续合并
### 2.1.3 git rebase
命令 参数 含义
git rebase <branch_1> <branch_2> 将branch_1上面的移动到branch_2
--abort 终止rebase
--continue 继续rebase
-i 进入交互模式

2.2 git reset/revert/checkout撤销操作

命令 参数 含义
git reset --soft commit_id 撤销到某个commit,不修改工作区和索引区内容
--mixed commit_id 撤销到某个commit,不修改工作区,修改索引区内容
--hard commit_id 撤销到某个commit,并重置工作区和索引区内容
HEAD file_name 撤销索引区指定的file_name
git revert commit_id 只撤销某个commit
git checkout -- . 撤销工作区所有文件

2.3 git remote远程服务器操作

创建仓库
git clone --bare DataStruct-Algorithm /F/datastruct-algorithm.git
git init --bare DataStruct_algorithm.git
命令 参数 含义
git remote -v 查看详细的信息
show server_name 查看主机的详细信息
add server_name web_site 添加主机
rm server_name 删除主机
rename old_server_name new_ server_name 修改主机名

2.4 git log高级用法

命令 参数 含义
git log -n 表示查看最近提交的n条记录
--graph 显示当前分支提交记录以图形方式展示,后面—all 表示所有的分支
--date=short 查看提交的时间
-p 表示提交文件的修改了那些内容
file_name 表示查看file_name文件的提交记录
commit_id..commit_id 查看两个commit id之间的提交记录
--since=<date> 自date以来的记录
--before=<date> 表达date之前的记录
--after=<date> 表示date之后的记录
--until=<date> 表达直到date之后的记录
$ git log --since="2019-07-11" --until="2019-07-16" --date=short\n 表示2019-07-11~2019-07-16(不包括16号)之间提交的记录
--grep=<contents> 根据提交的message内容进行匹配
--author=”author_name” 根据作者名来搜索
--skip=n 跳过前面的n条记录
--stat 显示提交的文件
--left-right branch1…branch2 比较两个分支的commit差异
命令 参数 含义
git reflog show 查看当前分支的记录
--all 查看所有分支的记录
在找到commit id之后可以使用cherry-pick branch等命令 reflog有个特点就是它只存在本地记录里面,并不会上传到服务器上

2.5 git diff/show查看提交详情

2.5.1 diff
命令 参数 含义
git diff 不加参数 尚未缓存的修改(还未执行add命令)
--cached 已经缓存的修改
<branch_name1> <branch_name2> [file_name] 比较两个分支file_name的差异
commit_id commit_id 比较两个commit id 区别
3.5.2 show
命令 参数 含义
git show <commit_id> 显示commit id提交修改的内容
<commit_id> <file_name> 查看commit id 中对应的file_name修改内容
<tag_name> 查看tag信息
### 2.6 git tag操作
命令 参数 含义
git tag -m 注释信息
-f 强制覆盖
-d 删除
-l 列出所有的tag
-n 列出详细信息
$ git tag v2.0.0.0 –m “new version v2.0.0.0” $ git ls-remote --tags <server_name>查看远程tag $ git fetch <server_name> <tag_name> 拉取远程tag $ git push --delete <server_name> <tag_name> 删除远程的tag

注意在checkout tag的时候,如果我们在当前的tag上做了提交,就会造成一个游离的HEAD现象,这是个非常危险的操作,有可能会造成你的commit丢失问题。

2.7 git stash操作

stash的查看,增加,删除,对比,应用

命令 参数 含义
git stash save [message] 保存stash,并且有注释信息
show [stash] -p 查看某个stash的详细信息
drop [stash] 删除某个stash
pop 将当前的第一个stash应用到当前的分支上
apply [stash] 应用指定的stash,并且保存stash不变化
clear 清空stash
list 查看所有的stash

2.8 git blame操作

命令 参数 含义
git blame file_name 查看这个文件都有谁提交的
file_name -L num1:num2 查看这个文件从num1行到num2行都有谁提交的
file_name –L:function_name 查看这个文件里面函数最后一次谁修改过
--colors-lines 显示颜色标记
这个命令有时候可以结合grep使用,主要是为了精确查找信息
### 2.9 git patch 操作
1.先生成patch文件
$ git format-patch start_commit_id..end_commit_id
$ git format-patch –n3
2.可以事先检测在合并的时候是否存在冲突
$ git apply --check patch_file
3.合并patch文件
$ git am patch_file
4.撤销patch
$ git apply –R patch_file

2.10 git submodule管理大型项目的利剑

$ git init –bare test_submodule.git
$ git submodule add git@github.com:MingYueRuYa/cpp_inside_object.git
$ git submodule add git@github.com:MingYueRuYa/cpp_study.git
$ git commit –m “add submodule”
$ git push
拉取远程分支
$ git clone git@github.com:MingYueRuYa/test_submodule.git
$ git submodule init
$ git submodule update (git submodule update –init 将上面的两步合起来)
$ git submodule foreach git pull
$ git submodule foreach git submodule update
$ git rm -rf submodule_name (删除submodule)

2、git进阶操作,Git,git文章来源地址https://www.toymoban.com/news/detail-778293.html

到了这里,关于2、git进阶操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git的进阶使用(二)

    本篇文章旨在分享本人在学习Git时的随笔记🤩   在实际的操作中,有些文件可能再不同的场合需要同时使用不同的内容,而且还不能冲突,比如项目的配置文件,我需要本地进行测试,同时还要部署到服务器上进行测试。本地环境和服务器上的环境是不一样的,所以同一

    2024年02月01日
    浏览(33)
  • Git进阶

    集中式与分布式 中心服务器 工作流 分支实现 冲突 Fast forward 分支管理策略 储藏(Stashing) SSH 传输设置 .gitignore 文件 Git 命令一览 参考资料 Git 属于分布式版本控制系统,而 SVN 属于集中式。 集中式版本控制只有中心服务器拥有一份代码,而分布式版本控制每个人的电脑上就

    2024年02月22日
    浏览(30)
  • Git进阶·GitFlow·壹

    前边我所所说的Git入门阶段,都只是在做一个入门学习,然而,在实际开发中,我们常使用GitFlow思想进行项目开发,经过企业实践,此方法为项目开发过程中,较好的一种思想。 1.2.1 master master : 发布上线分支 ,基于master打tag,基于tag进行发布, master分支上不允许开发 ,

    2024年02月09日
    浏览(67)
  • git 进阶系列教程--add

    功能介绍 将工作区(working directory)中的内容放入暂存区(staging area) 追踪文件(解释:刚被添加到工作区的文件处于未跟踪状态(Untracked files),该命令会将新添加的文件放入暂存区,并且文件将处于已跟踪状态) 命令解析 添加工作区所有文件进入暂存区 最后的点可以理解为正则里的

    2024年02月06日
    浏览(53)
  • git 进阶系列教程--pull

    功能 从远程仓库拉取最新代码到本地 代码解析 将远程仓库代码拉取到本地。当然这个命令的前提是你本地代码与远程代码有链接,无论是你upstream也好git clone也罢。而且是默认拉取远程代码中与该分支有关联的分支与本地该分支合并。同时,git pull不止是拉取代码,同时会将

    2024年02月11日
    浏览(77)
  • git 进阶系列教程--push

    功能介绍 将本地仓库中的内容同步到远程仓库 指令解析 这个命令就上将本地仓库中的文件同步到远程。是平时用到push最多的指令。它其实是一种简写方式。省略了远程仓库的地址,本地分支。 这个命令是比较全的一条指令。意思是推送本地master分支到远程(origin)的master分支

    2024年02月14日
    浏览(54)
  • Git 进阶 高级用法,重要命令记录

    本篇文章用于记录Git高级用法,新手可以看我的另一篇文章:Git基础教学。 Git git fetch 是git pull 的细分步骤,git pull 包含了git fetch git pull origin master 上述命令其实相当于git fetch + git merge 在实际使用中,git fetch更安全一些 因为在merge前,我们可以查看更新情况,然后再决定是否

    2024年03月15日
    浏览(61)
  • 【Java架构-版本控制】-Git进阶

    Git作为版本控制工具,使用非常广泛,在此咱们由浅入深,分三篇文章(Git基础、Git进阶、Gitlab搭那家)来深入学习Git 指令 说明 举例 git branch 查看分支 git branch git branch dev 创建分支 git branch dev git checkout dev 切换分支 git checkout dev git checkout -b dev2 创建并切换分支 git checkout -

    2024年02月11日
    浏览(45)
  • git : 从入门到进阶(实战问题对策)

    目录 0. 前言 1. git stash: 暂时保存本地修改 2. git push时发生冲突怎么办? 2.1 平凡的merge 2.2 有冲突的merge 3. 访问过去的提交版本:git checkout 3.1 detached HEAD 3.2 “detached HEAD”状态下所作的修改会怎样呢? 3.3 “detached HEAD”状态下所作的修改如何汇入开发branch?  4. 取消或恢复

    2024年02月16日
    浏览(40)
  • Python 进阶指南(编程轻松进阶):十二、使用 Git 组织您的代码项目

    原文:http://inventwithpython.com/beyond/chapter12.html 版本控制系统 是记录所有源代码变更的工具,使检索旧版本代码变得容易。把这些工具想象成复杂的 撤销 功能。例如,如果您替换了一个函数,但后来发现您更喜欢旧的函数,那么您可以将代码恢复到原始版本。或者,如果您发

    2023年04月22日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包