首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

git 基础操作

为什么学习git 工作必备 提升团队协作效率 面试加分项 学习目标 安装、使用 对文件基础操作 对分支基础操作 git相关插件使用(chrome插件) 注意 学习常见使用场景 学习基础操作,不深究原理...,一个^代表一个版本 git reset --hard [id] // 回退到指定版本,id随便几位或者全部位数都可以 git checkout [id] -- [filename] // 指定文件回退到指定版本...master // 切换到主分支 git merge [name] // 将分支[name]代码合并到分支 解决冲突 例: 多分支处理同一段代码提交合并后,冲突报错 两种方案 忽略其他分支代码保留当前分支代码...拉取所有远程仓库 git fetch 查看所有分支 git branch -av 删除指定分支 git push origin --delete [name] 【注意:】 保证该分支确定不需要了 该分支代码是否合并到了主分支...Enhanced GitHub: 显示文件大小——见上图中间可下载区域显示文件大小 GitZip for github: 下载单个文件夹内容 从上图某一个文件夹上双击,会显示如下图下载图标,点击即可下载单个目录内容

53310

常用Git命令和操作

下载、安装、配置 下载Git https://git-scm.com/ 下载并安装完成后,进入到项目文件夹,右键,会出现Git两个菜单: ?...b 按照整个屏幕幅面移动 下 q 可以退出日志(返回普通命令提示符) 默认情况下,将会显示每个commit:SHA、作者、日期、注释。...log -p 使用此命令将会显示文件修改,同时会显示大量信息。...合并分支 分支合并:将其他分支并到当前(检出分支上。我们不是将两个分支并到一个新分支上。也不是将当前分支并到其他分支上。...当commit位于两个分支位置时,^引用第一个父(运行git merge时所处分支),而^2引用第二个父,也就是被合并分支

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

Git 进阶高频操作

stash 储藏 当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug --include-untracked 参数可以额外储藏新未被追踪文件。...--all 选项将收集所有未跟踪文件以及在 .gitignore 和 排除文件中明确忽略文件。...保存时间由近及远顺序列举出储藏栈。 git stash list 恢复指定stash, 只需要指定序号, stash@{0}代表最新stash。依次是次新数据,按照时间新到旧排序。...dev分支上干活,每个人都有自己分支,时不时地往 dev 分支上合并就可以了。...image.png 选择分支 or 合并 衍风险 呃,奇妙也并非完美无缺,要用它得遵守一条准则: 一旦分支提交对象发布到公共仓库,就千万不要对该分支进行衍操作。

67820

代码管理git--应对百变需求

正常开发流程,在开发分支完成测试环境测试之后,会合并到预发布分支上,在预发布环境进行测试。预发布环境测试完之后,再合并到发布分支上。...如果在新版本开发过程中,线上代码有个bug需要修复,可以从预发布分支上检出一份代码,修复bug之后再合并到预发布分支上,在预发布环境测试。测试没问题再发布到线上分支。 整个过程流程图如下: ?...找回历史一个版本 需求变更是常事,经常做了一圈之后发现还是第一个版本好,这个时候想要找到以一个版本内容。 恢复指定文件到指定版本。首要任务是先找到指定版本。可以使用git log查找指定版本。...## 查看提交记录 ## (包含提交信息,时间,提交人) ## 只会显示当前分支记录 git log ## 查看所有分支记录 git log -g ## commit msg 查找 git log...## (会显示文件变更内容) git log -p filename ## 文件内容变化查找 git log --all -S "文件内容关键字" filename 使用git log 查找到需要恢复

53620

Git那些事系列:从业务场景到高级技巧完整指南(一)

这时,你想到了,可以发起两次向主干入,一次是将feature/product_list分支入master,一次是将feature/user_manager部分目录入master  ——项目组测试同学提出了不同意见...A //切换到A分支 当然也可以用快捷方式: git checkout -b A //新建A分支并切换到A分支 同时git checkout 后面除了跟分支,还可以跟某次提交和文件,这里就涉及到另一个功能...这里就要具体问题具体分析,首先,如果在feature/user_manager分支严格按照需求顺序进行开发,那在用户配置管理子功能开发完毕这个commit_id,其实可以通过git checkout...如果如果在feature/user_manager分支交叉顺序对两个子需求进行开发,但每次提交都能是独立为某一个子需求开发提交出来,其实可以通过git chery-pick来解决 智能合并中讲了git...,想直接看方案可以略过=== git chery-pick 相对于上面两个合并分支命令,git chery-pick 主要是将某次/某几次提交进行合并 git cherry-pick 使用场景就是将一个分支部分提交合并到其他分支

20540

Git那些事系列:从业务场景到高级技巧完整指南(一)

这时,你想到了,可以发起两次向主干入,一次是将feature/product_list分支入master,一次是将feature/user_manager部分目录入master 图片 ——...,把两个分支指针指向一起,同时将历史修改按时间顺序进行排布 git rebase就是分支变基,把合并进来修改记录放在当前分支修改前面(时间上前面) git rebase 因为没有两个交叉修改记录看来很清爽...这里就要具体问题具体分析,首先,如果在feature/user_manager分支严格按照需求顺序进行开发,那在用户配置管理子功能开发完毕这个commit_id,其实可以通过git checkout...,如果如果在feature/user_manager分支交叉顺序对两个子需求进行开发,但每次提交都能是独立为某一个子需求开发提交出来,其实可以通过git chery-pick来解决 智能合并中讲了git...,想直接看方案可以略过=== git chery-pick 相对于上面两个合并分支命令,git chery-pick 主要是将某次/某几次提交进行合并 git cherry-pick 使用场景就是将一个分支部分提交合并到其他分支

855182

腾讯程序员Git大法:我是这样搞定分支

这时,你想到了,可以发起两次向主干入,一次是将 feature/product_list 分支入 master,一次是将 feature/user_manager 部分目录入 master。...但这其实不是这篇文章重点,因为不论是哪种方案,都会遇到一个相同问题:如何将一个分支部分文件/文件夹优雅地合并到另一个分支。...git merge 就是真实意义上合并,把两个分支指针指向一起,同时将历史修改按时间顺序进行排布。 git rebase 就是分支变基,把合并进来修改记录放在当前分支修改前面。...再用强制合并方式中 git checkout 命令强制把 product_list_temp 分支 src/product 文件夹合并到 product_list 分支。...这里就要具体问题具体分析,首先,如果在 feature/user_manager 分支严格按照需求顺序进行开发,那在用户配置管理子功能开发完毕这个 commit_id,其实可以通过 git checkout

23351

Git 小手记

核心原因在于 rebase 会将需要移动 commit hash 重新生成一遍. rebase 本质是将需要衍分支 commit 从与当前分支最近祖先 commit 起所有 commit...那么问题又来了, 所谓公共分支是指什么, 多人协作就是公共分支?..., 而是从当前 feature 分支上 切出了一个分支, rebase -i rebase 后面加上 -i 参数, 其实是交互式 rebase 命令.它可以可以修改 commit 信息, 顺序,..., 你可能会需要 git merge --squash, 你可能会有: 添加文件 添加文件2 添加文件3 这样 bugfix 提交, 如果将这些合并到 deve 会显得有点乱, 所以使用 git merge...add -p 可以交互式地, 单文件内选择性提交.我们会经常遇到这样场景, 也就是我们在单个文件里面一连修复了很多个 bug, 但是我们 忘记逐个 bug 进行提交记录, 但是如果直接将整个文件进行提交

52520

代码版本管理笔记 | Python 程序员也应该会 Git 分支操作

比较分支差异 查看代码差异 git diff 分支1 分支2 --stat 显示文件具体修改 git diff 分支1 分支2 [filename] 显示全部文件修改 git diff 分支1 分支...hard 到那个 commitid 即可 从历史版本中找回删除文件 有时候,我们在某个版本中删除了文件,后来又突然发现需要这个文件,是可以恢复;恢复之前首先确定要恢复文件在哪一个版本( commit...git diff [commit id1] [commit id2] 合并代码 假设现在有三个分支,分别为 develop、test、master 这个时候需要将 develop 分支代码合并到...test 然后 再合并到 master # 先切换到 test 分支 git checkout test # 将 develop 分支并到 test git merge develop 代码冲突...,会在 git commit 后面增加一个 -a 参数,而且不需要 -m 参数 git merge 命令合并代码之后,版本记录会按照时间顺序排序,并自动产生一个 Merge branch 版本; git

35820

【Android开发丨主题周】Android Studio中13条Git实践

接下来就可以完成第一次代码提交,用鼠标选中项目根目录,并单击鼠标右键,在弹出菜单选项中选择Git→Add,这时之前暗红色文件就会变成绿色,表示这些文件已经被Git跟踪,添加进Git暂存区,只有添加进暂存区文件才能完成提交...分支 分支由一个个提交按时间顺序串联起来,分支分支之间就像平行线,合并两个分支才会出现交叉情况。...获取对应Git命令为git fetch。 ? 6 . 拉取(Pull) Pull就是获取当前本地分支对应远程分支更新,然后将这些更新合并到本地分支上。...衍作用就是将远程分支最新提交作为起点,再将本地分支提交添加在后面,衍之后提交记录就是一条直线,如下。 ?...这里有一条衍黄金原则:公共分支(master和develop)不要去衍其他分支,否则会存在潜在风险,具体原因可查看https://www.atlassian.com/git/tutorials/

1.4K20

Git命令行备忘录

Git 命令实在是太多了,有的小伙伴就说了,我可以用客户端(Source Tree、Gitkraken、tortoiseGit)它们不香? 通常情况下,一些简单操作是香。...而且命令行错误提示是非常详细,你可以准确锁定你错误原因以及正确使用方法,孰能自然生巧。 其次,程序员使用命令行是一件多么酷事情啊,在黑框框里操作时候难道没有一种黑客既视感?...这不就是小时候梦想着成为样子么?:) 请你给你热爱多一点点坚持! 本文整理了一些常用 Git 操作,老司机可以温故知新,新手可以点赞收藏。...checkout -b 新分支 安全删除本地某分支 git branch -d 要删除分支 强行删除本地某分支 git branch -D 要删除分支 删除已合并到 master 分支所有本地分支...git merge A分支 B分支 将当前分支基于 B 分支做 rebase,以便将B分支入到当前分支 git rebase B分支 将 A 分支基于 B 分支做 rebase,以便将 B 分支入到

59350

编程_Git基础教程

(就可以在云端上保存你代码了) 三、基本操作: 正常工作流程顺序介绍,接下来命令说明中: :表示应该根据情况填写不同值 []:表示可选参数 1、Init、Clone git init(创建一个空...dev(将dev分支并到当前分支[如:master分支]上) 如果有冲突,需要处理: 分隔符上部分:当前分支内容 分隔符下部分:远程分支内容 处理非文本文件冲突: git checkout —theirs...>(给已经提交commit追加标签) 四、补充 1、merge和rebase区别 将dev分支并到当前分支git merge dev git rebase dev Merge:形成一个新节点...方式反向入master分支代码: git rebase master git merge --continue 2、合并Commit git rebase -i [合并后需要接上一个提交commitID...] // I开始编辑 // pick 意思是要会执行这个 commit // squash 意思是这个 commit 会被合并到前一个commit 将需要合并pick改成squash ESC

54610

如何高效地合并Spark社区PR到自己维护分支

经常有朋友问我是怎么把社区PR合到自己分支,我之前跟他们介绍做法是基于PR拉分支,在IDEA中单个文件diff合并。如果是偶尔下社区代码,这种方式也不算太费事。...处理,对于这种PR,合并到自己分支中是非常简单事情,直接使用gitcherry-pick就可以搞定。...我们以这个PR为例:https://github.com/apache/spark/pull/19301,这个PR实现上还有待改进,但可以正常工作,因此还没入社区,我们将这个PR合并到my-2.2.0...PR分支修改 git rebase upstream/master # 通过diff提取这次PRpatch文件 git diff upstream/master > pr-19301.patch...git branch -D pr-19301 参考 Useful Developer Tools A successful Git branching model Git 分支 - 分支 最后 上述方法不能保证合并

2.2K80

Git最全系列教程(三)

Git 会在有冲突文件里加入标准冲突解决标记,可以通过它们来手工定位并解决这些冲突。...也就是说,你可以同时拥有多个开放分支,每个分支用于完成特定任务,随着开发推进,你可以随时把某个特性分支成果并到其他分支中。...你可以把作出改变保持在特性分支中几分钟,几天甚至几个月,等它们成熟以后再合并,而不用在乎它们建立顺序或者进度。 现在我们来看一个实际例子。...如果要把该远程分支内容合并到当前分支可以运行 git merge origin/serverfix。...衍是按照每行修改次序重演一遍修改,而合并是把最终结果合在一起。 有趣可以放到其他分支进行,并不一定非得根据分化之前分支

94730

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

Git 会在有冲突文件里加入标准冲突解决标记,可以通过它们来手工定位并解决这些冲突。...也就是说,你可以同时拥有多个开放分支,每个分支用于完成特定任务,随着开发推进,你可以随时把某个特性分支成果并到其他分支中。...你可以把作出改变保持在特性分支中几 分钟,几天甚至几个月,等它们成熟以后再合并,而不用在乎它们建立顺序或者进度。 现在我们来看一个实际例子。...如果要把该内容合并到当前分支可以运行 git merge origin/serverfix。...衍是按照每行修改次序重演一遍修改,而合并是把最终结果合在一起。 有趣可以放到其他分支进行,并不一定非得根据分化之前分支

14.9K51

通过 41 个 问答方式快速了解学习 Git

可以使用分支合并多个分支,然后将该分支发送给 master ? 当然可以,在大多数 git 工作流下,分支通常会累积来自多个其他分支更改,最终这些分支会被合并到分支。 18....应该从一个非常老分支做一个 rebase ? 除非是迫不得已。 根据你工作流,可以将旧分支并到分支中。 如果你需要一个最新分支,我更喜欢 rebase。...如果许多提交之间仍然存在冲突,可以使用 merge。 21.在与 master 合并之前,有必要更新我分支 根据你工作流,可以将旧分支并到分支中。...当然,某些可视化操作(如管理分支和查看文件差异)在GUI中总是更好。我个人认为在合并过程中在浏览器中查看这些内容就足够了。 23. 当提交已经被推送时,可以做一个 --amend 修改?...在将分支并到 master 之前,需要先创建一个 release 分支? 这在很大程度上取决于你们公司部署过程。

1.4K20

通过 41 个 问答方式快速了解学习 Git

可以使用分支合并多个分支,然后将该分支发送给 master ? 当然可以,在大多数 git 工作流下,分支通常会累积来自多个其他分支更改,最终这些分支会被合并到分支。 18....应该从一个非常老分支做一个 rebase ? 除非是迫不得已。 根据你工作流,可以将旧分支并到分支中。 如果你需要一个最新分支,我更喜欢 rebase。...如果许多提交之间仍然存在冲突,可以使用 merge。 21.在与 master 合并之前,有必要更新我分支 根据你工作流,可以将旧分支并到分支中。...在将分支并到 master 之前,需要先创建一个 release 分支? 这在很大程度上取决于你们公司部署过程。...git blame 文件名 查看这个文件修改记录,默认显示整个文件,也可以通过参数 -L ,来检查需要修改某几行。 如果查看之前提交内容可以使用 git show commitId。

1.5K50

Git 常用命令

remote add origin url 将文件从暂存区取出并保存到仓库 git commit 将文件从本地仓库推送到远程仓库 git push -u (--set-upstream): 对于每个最新或成功推送分支...,添加上游(跟踪)引用,用于无参数 git-pull 和其他命令 查看仓库目前状态 git status 显示文件两个版本之间差异,输出内容与 git log -p 相同 git diff 显示所有...) : 显示对文件作出实际更改 - w : git log -p -w 将显示补丁信息,但是不会突出显示仅更改了空格行 将仅显示一个 commit 内容 git show 合并与衍 git merge... #合并指定分支到当前分支 git rebase #衍指定分支到当前分支 强制覆盖本地内容 git fetch --all git reset --hard...origin/master git pull origin master .gitignore 通配规则 .gitignore 文件用来告诉 git 不应跟踪文件

42120

Git学习笔记

可以通过 git add 命令来指定所需文件来进行追踪,然后执行 git commit 。...,并在这个目录下初始化一个 .git 文件夹,从远程仓库拉取下所有数据放入 .git 文件夹,然后从中读取最新版本文件拷贝。...安全删除本地某分支 强制删除本地某分支 删除已合并到 master 分支所有本地分支 删除远端 origin 已不存在所有本地分支 给 commit 打标签 两分支集成 把A分支入到当前分支...,且为 merge 创建 commit 把A分支入到B分支,且为 merge 创建 commit 把当前分支基于B分支做 rebase,以便把B分支入到当前分支 把A分支基于B分支做 rebase,...以便把B分支入到A分支 用 mergetool 解决冲突 Git 和 Github 简单同步 配置公私钥 ssh-keygen -t rsa -b 4096 -C "your email" 使用该命令后连续三次回车

33210
领券