版本控制
文章平均质量分 65
张庚
这个东西的原理是什么呢?
展开
-
源码管理四:工作区&&暂存区
1、工作区(Working Directory):被管理的文件所在的目录,该目录就是一个工作区。2、版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。3、暂存区(stage)Git的版本库里有很多东西,其中stage(或者叫index)的是暂存区,还有Git自动创建的第一个分支master,以及指向master的指针HEAD。原创 2015-01-29 23:12:21 · 934 阅读 · 0 评论 -
源码管理十五:多人协作
当你从远程仓库克隆的同时,实际上Git自动把本地的master分支和远程的master分支对应了起来,并且,远程仓库的默认名称是origin。要查看远程库的信息,用git remote:zhanggeng:git_learning (dev *)$git remoteorigin如果想查看更加详细的远程库信息,可以使用命令:git remote -v显示更详细的信息:原创 2015-02-04 20:03:00 · 1550 阅读 · 1 评论 -
源码管理十七:忽略特殊文件
有些文件放到Git工作目录中,但又不能提交它们,每次git status都会显示“Untracked files ...”,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:htt原创 2015-02-04 20:56:59 · 1004 阅读 · 0 评论 -
源码管理十六:标签管理
Git 提供了一种叫做标签的东西,那么标签是什么呢?用来干什么呢?第一,标签是什么——标签是版本库的一个快照。发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。第二,标签用来干什么——标签作为版本库的快照,为我们操作版本库提供方便原创 2015-02-04 20:30:32 · 1064 阅读 · 0 评论 -
源码管理十二:解决冲突
当我们在操作过程中,产生冲突后,如果要合并的话,是无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,才可以合并完成。情景如下:准备新的分支dev1 ,我们现在在新的分支 dev1 上进行开发:zhanggeng:git_learning (master)$git checkout -b dev1Switched to a new branch 'dev1'修改hello原创 2015-02-02 22:08:09 · 1128 阅读 · 0 评论 -
源码管理十三:分支管理策略
在实际开发中,我们应该遵循的几个分支管理策略:第一,master分支必须是非常稳定的,也就是仅用来发布新版本,平时不在上面干活;第二,干活都在dev分支上;也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;开发人员每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上原创 2015-02-03 22:30:25 · 1481 阅读 · 0 评论 -
源码管理十四:bug分支
在实际开发中,可能会碰到这样一种情况:此时我正在dev分支进行开发工作,突然接到通知必须在两个小时内修复一个重大Bug,并且我此时手头的工作还没有提交,并不是我不想提交,而是工作只进行到一半,还没法提交,可能还需要13个小时才可以完成,该怎么办?zhanggeng:git_learning (master *)$git statusOn branch masterYour branch原创 2015-02-03 23:18:41 · 1129 阅读 · 0 评论 -
源码管理十一:创建&&合并&&删除 分支
在Git中,创建分支使用命令:git checkout -b (分支名)。zhanggeng:git_learning (master)$git checkout -b devSwitched to a new branch 'dev'git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:$ git branch dev$ git checkout devS原创 2015-02-01 22:45:38 · 1142 阅读 · 0 评论 -
源码管理九:添加远程库
首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库。然后,在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:目前,在GitHub上的这个learngit仓库还是空的,可以从这个仓库克隆出新的仓库,也可以把一个已有的本原创 2015-01-30 23:24:46 · 992 阅读 · 0 评论 -
源码管理七:删除文件
在Git中,删除也是一个修改操作。第一步:先添加一个新文件test.txt到Git并且提交:zhanggeng:git_learning (master)$git add text.txtzhanggeng:git_learning (master +)$git commit -m "add text.txt"[master 6607fa5] add text.txt 1 file原创 2015-01-30 22:41:26 · 1002 阅读 · 0 评论 -
源码管理八:注册Github&&添加SSH Key
GitHub提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:第1步:创建SSH Key。创建SSH Key:使用命令:ssh-keygen -t rsa -C "zhanggengdyx@sina.com"如果一切顺利的话,可以在用户主目录里找原创 2015-01-30 22:55:14 · 1410 阅读 · 0 评论 -
源码管理十:从远程库克隆
当我们参与团队开发的时候,那么每个人都要各自从远程克隆一份代码,改怎么做呢?前提是得知道,项目所在地址:使用命令:git clone git@github.com:SOFTPOWER1991/gitskills.gitzhanggeng:github_gitskills$git clone git@github.com:SOFTPOWER1991/gitskills.g原创 2015-01-30 23:37:45 · 859 阅读 · 0 评论 -
源码管理五:管理修改
Git这个版本控制工具最大的特点在于:Git跟踪并管理的是修改,而非文件。那么什么是修改呢?a、当你新增了一行,这就是一个修改;b、删除了一行,也是一个修改;c、更改了某些字符,也是一个修改;d、删了一些又加了一些,也是一个修改;e、甚至创建一个新文件,也算一个修改。f、添加一个空格,也是一个修改。当你用git add命令后,在工作区的修改被放入暂存区,准备原创 2015-01-30 07:47:57 · 862 阅读 · 0 评论 -
源码管理二:查看工作区状态&&修改的内容
命令:git status作用:git status命令可以让我们时刻掌握仓库当前的状态用法如下图所示:命令:gif diff作用:如果你休假两个月回来,第一天上班时,已经记不清上次对项目做了什么修改,所以,需要用git diff这个命令看看用法如下图所示:原创 2015-01-29 21:35:30 · 533 阅读 · 0 评论 -
源码管理六:撤销修改
在Git中想要撤销修改可以使用命令:git checkout -- file可以丢弃工作区的修改。对工作区的修改分为以下两种情况:第一,修改了文件,尚未 git add ,即修改后尚未放到:暂存区。此时直接丢弃工作区的状态,可以恢复到之前跟工作区一样的状态zhanggeng:git_learning (master *)$git statusOn branch masterCh原创 2015-01-30 08:08:50 · 1024 阅读 · 0 评论 -
源码管理一:创建版本库
第一步:初始化Git 仓库(建一个空的文件夹):源码的版本管理,是依靠版本库来进行的,又名仓库,英文名:repository。可以简单理解成一个目录(一个文件夹),这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。首先,选择一个合适的地方,创建一个空目录:$ mkdir learngit$原创 2015-01-16 16:43:03 · 906 阅读 · 0 评论 -
源码管理三:版本回退
在版本控制系统中,我们可能提交过好多次的版本。要想回退到之前的版本,必须得知道我们提交过的版本记录,该如何获取提交的版本记录呢?用命令:git log 用法如下:zhanggeng:git_learning (master)$git logcommit 1b954b4b03f44d797a4ba8301507614f1a5cabeeAuthor: zhanggeng Date:原创 2015-01-29 22:50:51 · 1107 阅读 · 0 评论 -
Gitflow(git工作流)
Gitflow(git工作流) 我第一次接触这个概念,是出于一个偶然的机会,用的Git客户端SourceTree ,在右上角有个按钮“git工作流”,出于好奇点开看了下,弹出对话框如下图所示,在网上搜了下,gitflow的相关资料,感觉非常棒。 我印象中的git是这样用的 每开发一个版本,就从master分支上fork出一个分支来。然后,在该分支上开发当前版本的功能。开发完毕后原创 2015-12-27 11:49:40 · 2777 阅读 · 0 评论