[GIT]比较不同分支的差异】的更多相关文章

    比如我们有 2 个分支:master, dev,现在想查看这两个 branch 的区别,有以下几种方式: undefined 1.查看 dev 有,而 master 中没有的: 1.查看 dev 有,而 master 中没有的: git log dev ^master 同理查看 master 中有,而 dev 中没有的内容: git log master ^dev 2.查看 dev 中比 master 中多提交了哪些内容 git log master..dev 3.不知道谁提交的多谁提交…
前两天,良许在做集成的时候碰到了一件闹心事.事情是这样的,良许的一位同事不小心把一个错误的 dev 分支 merge 到了 master 分支上,导致了良许编译不通过.于是,我们需要将版本回退到 merge 之前的状态. 如果是下面这个状态,那很好处理: 这种情况下,我们只需一个 git reset 命令即可: git reset --hard HEAD~ 但是,如果下面这种状态,情况就没那么简单了: 这种情况下,就不能简单使用 git reset 命令了.这就是良许这次碰到的问题.为了解决这个…
Git 保存的不是文件差异或者变化量,而只是一系列文件快照. 在 Git中提交时,会保存一个提交(commit)对象,它包含一个指向暂存内容快照的指针,作者和相关附属信息,以及一定数量(也可能没有)指向该提交对象直接祖先的指针.当使用 git commit 新建一个提交对象前,Git 会先计算每一个子目录(本例中就是项目根目录)的校验和,然后在 Git 仓库中将这些目录保存为树(tree)对象.之后 Git 创建的提交对象,除了包含相关提交信息以外,还包含着指向这个树对象(项目根目录)的指针,如…
创建发布分支: (1) 软件hello-world的1.0发布版本库中有一个里程相对应. /home/jackluo/workspace/user1/workspace/hello-worldgit tag -n1 -l v* (2)基于里程v1.0创建发布布hello-1.x. 注:使用了git checkout 命令创建分支,最后一个参数v1.0是新分支 hello-1.x创建的基准点,如果没有里程,使用提交ID也是一样 [root@localhost hello-world]# git t…
开发者user1 负责用getopt 进行命令解析的功能,因为这个功能用到getopt 函数,于是将这个分支命名为user1/getopt.(1)确保是在开发者user1的工作区中cd /home/jackluo/workspace/user1/workspace/hello-world(2)开发者user1 基于当前HEAD创建分支user1/getopt.git branch user1/getopt(3)使用 git branch创建分支,并不会自动切换.查看当前分支可以看到仍然工作在ma…
转自:http://www.cnblogs.com/jackluo/p/3499731.html 开发者user1 负责用getopt 进行命令解析的功能,因为这个功能用到getopt 函数,于是将这个分支命名为user1/getopt.(1)确保是在开发者user1的工作区中cd /home/jackluo/workspace/user1/workspace/hello-world(2)开发者user1 基于当前HEAD创建分支user1/getopt.git branch user1/get…
熟悉git分支的原理是掌握了git的精髓,因为git和我们常用的源码管理系统有很大的区别和优点在分支上可以体现出来,一般我们常用的源码管理系统分支都是需要创建新目录,有全新的源码copy,一般都需要创建一个源代码目录完整的副本.对应大项目来说非常的耗费时间和空间.git正式因为其优秀的分支模式可以从源码管理系统中脱颖而出.因为git的分支非常的轻量级,他的操作机会瞬间完成,在不同的分支切换也非常快速.与其他版本相比,git更加推崇使用分支管理.分支是一个git非常强大和高效的工具.熟悉使用可以大…
分支与合并 在Git里面我们可以创建不同的分支,来进行调试.发布.维护等不同工作,而互不干扰.下面我们还是来创建一个试验仓库,看一下Git分支运作的台前幕后: $rm -rf test_branch_proj $mkdir test_branch_proj $cd test_branch_proj $git init Initialized empty Git repository in /home/test/test_branch_proj/.git/ 我们如以往一样,创建一个“readme.…
分支branch作为git一个强大功能,在平时开发如果能够善加使用,定能成倍提升开发效率. 1.分支开发模式 主分支master上一般是稳定版本,需要保证随时都能发布. 所以,可以建立一个开发分支用于开发新功能. git branch dev 查看有哪些分支 git branch -a * dev master bugfix-1 remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/dev remote…
关于版本控制 git是一种分布版本控制系统,每一主机都保存了完整副本.必杀技是分支. 在Windows可安装git客户端msysgit. git基础 第一次看progit觉得有点不懂,不懂版本控制,一条条命令写的觉得很麻烦没头绪.这次在看了向导guides.github.com之后,文章避免了一些细枝末节的命令,而是介绍工作流程,懂了一点工作大概流程再开始使用命令比较合适. 三种状态 工作目录.暂存区域.git目录 工作目录就是你打开文件夹看到可见目录.暂存区域含有添加(add)之后的文件.gi…
分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息.如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息(有分支的commit id).下面我们实战一下--no-ff(ff:fast forward)方式的git merge:首先,仍然创建并切换dev分支:…
分支在实际中有什么用呢? 你创建了一个属于你自己的分支,别人看不到,别人还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作. 在版本回退里,我们已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支…
Git新建本地分支与远程分支关联问题:git branch --set-upstream git在本地新建分支, push到remote服务器上之后,再次pull下来的时候,如果不做处理会报以下提示: You asked me to pull without telling me which branch you want to merge with, and 'branch.production.merge' in your configuration file does not tell m…
[git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除 git reset --hard HEAD~3:将最近3次的提交回滚 [远程代码库回滚]: 这个是重点要说的内容…
今天想学习一下开源中国Android客户端的app源码,源码的Git地址:http://git.oschina.net/oschina/android-app,如下图所示: 由于Master主分支上没有放置源码,因此需要切换到指定的Tag分支去查看,如下图所示: 切换到v2.8.1这个分支就可以看到具体的代码了,如下图所示: 使用Git下载指定分支命令为:git clone -b 分支名仓库地址 使用Git下载v.2.8.1分支代码,使用命令:git clone -b v2.8.1 https:…
前言 无论是开源项目还是内部项目,使用Git都是大势所趋,尤其是在产品管理这块,使用Git大大提高了开发效率和产品的交付频率.本篇,针对Git的工作流和分支使用,进行了一些推荐. 目录 1     产品管理开发之Git工作流和分支规范推荐 1.1      Git工作流模型推荐 1.2      Git产品开发分支规范要求 1.2.1      永久分支 1.2.1.1  master(稳定版) 1.2.1.2   开发版(develop) 1.2.2      临时性分支 1.2.2.1  …
使用Git下载指定分支命令为:git clone -b 分支名仓库地址 克隆asp.net core 2.1.6版本 git clone -b 2.1.6 https://github.com/aspnet/AspNetCore.git…
[git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除 git reset --hard HEAD~3:将最近3次的提交回滚 [远程代码库回滚]: 这个是重点要说的内容…
git远程删除分支但本地git branch -a仍能看到解决 在gitlab页面删除分支 但是本地能可以看到 $ git branch -a br_dev br_to_delete * master remotes/origin/HEAD -> origin/master remotes/origin/br_dev remotes/origin/br_to_delete remotes/origin/master git remote prune origin命令即可删除…
当我们进行程序开发的过程中,有时会产生一个新的想法,然后就想马上试验,那我们怎么办? 如果我们继续在现有的基础上进行开发,但最后想法不成功,我们还要进行版本回退?如果我们的新想法,需要很长时间才能实现呢?我们其它的功能还要不要进行开发?最后就是如果有bug,我们修复bug,这有时也需要较长时间,我们还是在现有基础进行开发,如果修改不成功或引入的新的bug 怎么样? 这时就要引入分支的概念,当我们进行新功能开发或者修复bug的时候,在新的分支上进行开发, 它不会影响现有的代码. 分支,可以按照现实…
     1. 切换git远程分支,使用命令:git checkout -b 分支名称.    注意:切换远程分支一定要带伤-b 参数,只有切换本地分支的时候才不需要 -b参数,-b 的意思是 base,以当前分支为 base,新建一个名叫xxx 的分支  .如果使用 "git branch 远程分支名" 命令切换到远程服务器分支上,            则会导致如下错误提示: You are in 'detached HEAD' state. You can look around…
Git拉开发分支的代码报错: fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed 解决办法: git config --global core.compression -1…
早上抽空整理了下git常用操作,偶尔看看加深下印象吧: 如果github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地新建分支并推送到远程 git checkout -b test git push origin test 这样远程仓库中也就创建了一个test分支 ==============================================…
转- 删除本地git的远程分支和远程删除git服务器的分支 在项目中使用git管理代码后,有些时候会创建很多不同名称的分支,以此区分各个分支代码功能. 而随着代码的合并,以前的分支就可能不再需要保存了,所以就要对没有用的分支进行删除,包括紧急回滚时从中抽取某一个版本记录所创建的临时分支. 这时候就可以使用下面的命令: 1.列出本地分支: git branch 2.删除本地分支: git branch -D BranchName 其中-D也可以是--delete,如: git branch --d…
1.git checkout -b 新分支名 老分支名 git checkout -b dev_20150909 master git ls -tree 分支名字…
git 不能创建分支,如下 fatal: cannot lock ref 'refs/heads/hotfix/aa': 'refs/heads/hotfix' exists; cannot create 'refs/heads/hotfix/aa' 原因是hotfix是个分支,对应.git/refs/heads 中的是文件,不是文件夹. git 把分支信息存放在 .git/refs/heads 目录中,每个分支是一个文件. 如果你打开这个目录看一下就会发现,你的 sss 分支是一个名叫 sss…
一. git 删除分支 1. git 删除本地分支 git branch -D branchname 2. git 删除远程分支 git push origin :branchname (origin 后面有空格) 二. git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id 1. 本地代码库回滚 git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除 git reset --hard HEAD~3:…
git提交本地分支到远程分支   git 常用命令(含删除文件) Git常用操作命令收集: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加远程仓库:$ git remote add [name] [url] 删除远程仓库:$ git remote rm [name] 修改远程仓库:$ git remote set-url --push[name][newUrl] 拉…
分支介绍 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险. 现在有了分支,就不…
Git新建远程分支和删除 现在我在master分支上,工作目标是干净的,也没有需要commit的: $ git branch * master release $ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean 新建远程分支 新建一个本地分支: $ git checkout -b dbg_lichen_sta…