当我们创建一个新的分支dev,并且在新分支上修改了原文件,在我们没有提交到仓库的前提下,将分支再切换到master分支上,执行git status ,可以看到dev操作的状态: (1)因为未add的内容不属于任何一个分支, 未commit的内容也不属于任何一个分支. 也就是说,对于所有分支而言, 工作区和暂存区是公共的. (2)你在dev分支修改了文件,但是你没有提交到仓库,实际上就是相当于你在本地手动修改了这个文件仓库并不能保存你做的改动,所以在master分支能看到文件被改动了(相当于你没用…
比如我在A分支做了一些修改,现在由于某种原因(如A分支已经合并到master)不能把A分支上修改的东西保留下来但是需要把A分支上修改的东西继续在新分支继续修改.那么现在我们可以有两种简单的做法完成这一需求. 第一种方法我们不需要在A分支做commit,只需要在A分支新建B分支,然后切换过去.这个时候你会发现修改的东西在A,B分支都有.这个时候在B分支commit,那么这些修改保留在B分支上,再切换到A分支上会发现修改都没有保留下来. 第二种方法使用git stash 将A分支暂存起来,然后在某一…
创建一个空目录,在其中初始化git git init 创建一个新文件,此时默认在master分支上 touch file1.txt add到staging area git add file1.txt 提交变化 git commit -m 'the first commit' 创建一个新的分支 git branch newBranch 切换到新的分支 git checkout newBranch 在新的分支newBranch下创建目录和文件 mkdir folder touch folder/f…
命令 1.git status //查看修改文件状态 ,可以看到哪些add了哪些没add 注意:如果此时出现了有些文件不想添加到暂存区却添加进去了,需要撤回 git reset HEAD 全部撤销git reset HEAD XXX/XXX/XXX.java 对指定某个文件进行撤销 2.git add+修改文件的全路径  //将想要提交的文件add到本地库 3.git status  //查看修改文件状态 4.git commit  //提交add到本地库的文件 5.git push…
1. git add 添加 多余文件 这样的错误是由于, 有的时候 可能 git add . (空格+ 点) 表示当前目录所有文件,不小心就会提交其他文件 git add 如果添加了错误的文件的话 撤销操作 git status 先看一下add 中的文件 git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了 2. git commit 错误 如果不小心 弄错了 git a…
注意:此处省略git的安装 1..git的工作流程示意图: 2.本地仓库的初始化: 2.1 创建一个文件夹,如我创建的是:D:\gitdemo\shop 2.2 进入shop目录,鼠标右键,打开git命令窗口,输入git init 命令,按回车键: 此时本地仓库已经初始化,生成的.git目录和相关文件是隐藏起来的,使用命令ll -al 可以看到: 查看该目录文件: 命令 ll .git 注意:里面的任何文件都不要修改和删除 3.角色的创建: 本地仓库要跟远程仓库进行同步,需要一个角色用来区分每个…
http://blog.csdn.net/pipisorry/article/details/47867097 查看文件的修改历史 git log --pretty=oneline 文件名 # 显示修改历史[Git高级教程:git log与git reflog] git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e # 查看更改 历史版本对比 查看日志git log 查看某一历史版本的提交内容git show 4ebd4bbc3ed321d01484…
是否遇到过这种情景: 您在一个分支上工作,发现该分支上的某些文件实现的功能已经在其他分支上实现了 但因为这两个分支实现不同的功能,因此不能进行简单的合并工作,但您又不想重复其他已经完成的工作 以下操作可以解决该问题:   处理流程这样的: 先检验当前分支与要合并分支通用文件的差异(要合并的分支必须要全部commit) 拉出要“合并某分支文件有差异”的所有文件(会覆盖当前分支的文件,在提交前请手动合并差异文件) git checkout 分支名称 多个指定的文件名 添加并commit到当前分支 g…
背景 上一篇文章 保持清洁的Git提交记录,三招就够了 ,大家看过后有私下留言说这是非常好用的功能,我突然想到工作中用到的另外一个 Git 功能那也是相当好用,必须全盘托出 作为程序员的我们应该都有一个感受,一旦进入某个项目,从开发,到发布生产,到 hotfix,到后期维护,那基本都有你的份,正在开发某个 feature,老板突然跳出来说让你做生产上的 hotfix 更是家常便饭,面对这种情况,使用 Git 的我们通常有两种解决方案: 草草提交未完成的 feature,然后切换分支到 hotfi…
背景 最近我们组几个同事都投入到了一个新项目,互相之间的功能耦合比较紧密,因此,是打算从master上新拉一个分支,可以理解为我们几个人的开发分支,以develop代替. 一开始,我们是打算像svn那样用的,几个人就把这个新分支develop当做唯一的主干分支,几个人互相快速提交/拉取,回到了用svn的快乐日子. 不过,大家用svn也知道,经常呢,我们为了保证代码不丢,会经常性地往分支提交,即使某个功能写了一半,一个功能,n次commit记录,且和同事的commit交错在一起:另外,我们提交的代…