![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
git
nber1994
努力做一个有趣的程序员:P
展开
-
git学习笔记(文件的提交)
git 学习之前想知道的:git的历史: 有这么一个黑客,十分有性格,他在使用SVN等版本控制器的时候很不爽,无论是其缓慢的分支操作还是无法断网操作的特性,都让他感到十分的累赘, 于是。。。 他就自己写了一个, 在此之前,他因为十分不爽unix的代码不开源, 于是。。。 他就自己写了一个。。。 大神的世界,感受也感受不来啊集中式与分布式集中式:有一台当作中央服务器,其他的电脑想要工作,原创 2016-05-10 23:48:28 · 328 阅读 · 0 评论 -
git的学习笔记(与小伙伴协作)
查看远程仓库的信息git remoteorigingit remote -v//详细信息origin 。。。。。。。。。(fetch)origin。。。。。。。。。。(push)从远程仓库抓取下来第一次开始工作的时候,将远程仓库的文件需要克隆下来git clone git@github.com:nber1994/jty.git//这个是从我的github上克隆下来,哈哈,不过你是克隆不了了,原创 2016-05-14 00:06:21 · 324 阅读 · 0 评论 -
git的学习笔记(修改bug时保存现场)
想想这样一个场景当你正在一个惊醒一个新功能的开发的时候,预计还有两三天的工作量才能完成,但是这个时候,你发现你必须去修改其他文件,比如你突然觉得之前的一个类写的方法不是最好的,而你碰巧是个完美主义的强迫症患者,亦或者你发现之前的代码出现逻辑错误,以至于必须修改bug否则队友无法继续工作,这个时候,你有两个选择:1.提交版本(这种做法感觉很不好)2.如果能将现在的状态保存下来,但是不提交也不删除,存在原创 2016-05-13 22:56:34 · 1170 阅读 · 0 评论 -
git的学习笔记(分支管理)
之前的分支合并git merge dev//合并dev分支使用的默认的是fastforward模式,在这个模式下,合并结束以后,会丢失掉原来的分支信息,即两个分支一模一样了,如果你不想这样的话,就强制仅有ff模式禁用ff模式合并之后会看出曾经合并过,而ff模式看不住来曾经合并过。git checkout -b dev//然后修改test文件git add testgit commit -m "原创 2016-05-13 22:38:06 · 284 阅读 · 0 评论 -
git的学习笔记(冲突解决)
为什么会产生冲突两个分支,master与dev分支,你可能会在两个分支修改同一个文件而且位置相同,这个时候会发生冲突。首先在,master分支里面修改test文件,在后面加一句话“我是master” 然后进行版本提交git vi testgit add testgit commit -m “我是大师”然后新建并切换到featrue1分支上,同样对test文件夹一行“我是feature1”,然后进原创 2016-05-12 21:48:58 · 342 阅读 · 0 评论 -
git的学习笔记(分支管理)
分支概念其实,分支其实就是一个平行宇宙,试想,如果你需要修改一个特别大的地方,一时半会完成不了,但是,你没有修改完的话,别人也不好修改你的文件,只能等到你修改完毕再进行他的修改,但是,这样的话,整个项目的进程就被推迟了,所以,分支就是适合这种情况,你可以把它看成一种在你的计算机里再次分出一个计算机对文件进行修改,既可以避免了文件丢失的风险,有提升了速度并且,分支的创建与删除,合并十分迅速,这是svn原创 2016-05-12 21:27:54 · 390 阅读 · 0 评论 -
git的学习笔记(克隆远程仓库)
从github中clone仓库1.在github里面,新建一个仓库,创建时打勾自动生成README文件选项,这样,你的新建文件会自动出现README文件 2.然后,使用git clone git@github:nber1994/jty.git这样,每个人从git库里clone一份到自己电脑上即可git支持多种协议,http或者ssh,上面使用的是ssh协议原创 2016-05-12 20:52:18 · 325 阅读 · 0 评论 -
git的学习笔记(使用远程仓库)
远程仓库git属于分布式版本控制,所有的电脑没有主次之分,但是,一般还是会有一台计算机作为服务器来供其他计算机clone并进行修改与推送,但是,你会感觉这个跟svn没什么区别,但是,git允许每台计算机都克隆整个工作文件来进行修改,svn则只允许连接服务器进行修改,但是绝不允许先克隆到本地的。 远程服务器有两个选择:1.自己构建一个git服务器2.使用github首先,使用远程仓库需要你首先进行密原创 2016-05-11 21:11:07 · 468 阅读 · 0 评论 -
git的笔记(删除各个区域的文件)
删除文件如果未add上,你就可以使用linux的删除命令rm test此时,你把工作区的文件删除了,使用git status命令来看一下,发现提示你有一个文件被删除了,与版本库里的文件不同了,这时候:1.如果你想确认保留删除,就可以去版本库里面去删除文件,使用git rm test//在版本库里删除test文件此时,版本库里的文件已经与工作区的文件一致了,其实,可以直接去版本库里面去删除2.如果你后原创 2016-05-11 20:11:38 · 290 阅读 · 0 评论 -
git的笔记(各种类型的后悔药:撤销你的修改)
之前说过当你已经提交了你的修改,提交到了版本库里,想要回到之前的版本,可以使用git reset HEAD^git reset HEAD^^git reset 88eb //版本号你还可以使用git log或者git reflog来查看历史版本但是当你还未进行提交,仅仅是修改了工作区的文件或者已经add到暂存区之后又进行了修改的时候,如果想撤销你的修改的时候,你可以使用以下命令:git chec原创 2016-05-11 17:33:55 · 1597 阅读 · 0 评论 -
git的学习(工作区与暂存区)
暂存区你可能会疑惑为什么提交版本的时候,为什么要进行两次操作git add filenamegit commit -m 'balabala'其实第一次add的时候,你是把你的文件提交到git的暂存区,其实不难理解,版本控制器嘛,就是让你的提交缓慢一些,好好想想,又反悔的余地嘛并且暂存区还是git特有的,svn可是没有的哦然而工作区的话之前我们创建的testgit文件夹就是我们的工作区版本库之前我们原创 2016-05-11 16:47:58 · 331 阅读 · 0 评论 -
git的学习(各个版本之间的转换)
很形象的比喻就是时光机git status //查看仓库文件的状态,是否添加和是否提交//当你修改了某个文件但是没有提交到仓库时,可以查看两个文件的区别git diff test.txt//会给出两次修改的区别//然后你在查看你到底改了些什么东西,再决定是否提交版本回退//查看命令的loggit log//可以查看之前提交的记录,你会看到每次提交都会有你自己填写的注释//或者你可以加一原创 2016-05-11 00:22:27 · 6530 阅读 · 0 评论 -
git的学习笔记(标签)
标签当我们发布一个版本的时候,通常给这个版本打上一个标签,将来可以通过唯一的标签直接取出标签对应的版本,其实,这个标签的感觉就是一个版本的名字,比如你下一个app还会有一个版本号,就是这个意思。标签实际上就是一个指针,指向一个版本打上标签git branch//查看当前分支//切换到master分支git checkout master//切换到master分支git tag 大师//给当前的m原创 2016-05-14 21:08:05 · 492 阅读 · 1 评论