最近遇到了一件令我欣喜的事情,某重要机构看中了我的开源项目,想要和我共同维护迭代,整一个改变世界的产品,我一想这还了得,分分钟答应啊。
但是遇到了一个问题,之前呢都是我一个人在玩,只有一个master分支(我懒啊),问题倒也不大,但是如果很多人一起开发这就比较难为情了,只有一个master分支不太合适了。不利于以后的迭代维护。改变世界啊哈哈哈。
闲话少叙上干货如下图,现在的我的github库上面只有一个master分支
由于是穷屌丝用不起mac,所以我windows为例进行相应的演示:
下图就是本地使用小乌龟的版本管理工具在只有一个分支的情况下执行命令:Switch/Checkout 显示的内容。
下面分为三个步骤进行创建分支 *** 作
第一步:创建本地分支:点击右键选择TortoiseGit,选择Create Branch…,在Branch框中填写新分支的名称(若选中”switch to new branch”则直接转到新分支上,省去第二步),点击OK按钮:
第二步:通过“Switch/Checkout”切换到新创建的分支上(我新建的是dev分支),点击OK:
在相应的文件夹中 单击右键 看看是不是已经成功的切换分支,如下图 我已经成功的切换了分支。
第三步:在新分支下执行PUSH *** 作,在对话框中保持远程分支为空白,点击OK,则将在远程创建了新的分支(在PUSH的时候远程服务器发现远程没有该分支,此时会自动创建一个和本地分支名称一样的分支,并将本地分支的内容上传到该分支)。
再回到自己的github上面,看看自己的项目是不是多了一个分支
右键执行switch/Checkout 已经有了这个分支的名字(开不开心);
喜欢的就给我点个赞吧,码字截图不容易。
(1) 安装msysgit
安装过程中要注意, 在设置行结束转换时, 选择Checkout as-is, commit as-is,
这样Git 就不会修改换行风格了 其他用缺省设置即可
(2) 安装TortoiseGit
下载TortoiseGit, 目前的最新版本是
TortoiseGit-1770-64bitmsi
TortoiseGit-1770-32bitmsi
安装的过程中, 选择TortoisePLink
这两个软件安装完成后, 就可以开始使用了
3 设置
先到TortoiseGit 程序组中调用Settings 进行设置
首先需要设置的是用户信息, 没有用户信息, 无法完成其他 *** 作
接着可以定制上下文菜单
在定制时要注意, 在Set Extend Menu Item 时, 勾选的选项是不显示的选项
隐藏的菜单在文件夹中按右键时同时按下Shift 就能显示出来
在External Programs 中, 还可以设置比较工具等, 我设置了WinMerge 为比较
工具
4 日常用法
(1) 创建新库
在文件夹中按右键, 选择Git Create repository here 就可以创建库了
在出现的窗口中, 不勾选选项, 直接按OK
在目录中就会出现一个名为git 的隐藏文件夹, 所有库的相关内容都会
存在这个文件夹中 以后不管这个项目添加多少个文件夹, 整个库只会有这
一个管理文件夹, 这和CVS 和SVN 有较大差异
(2) 添加文件及文件夹
在文件夹中按右键, 选Git Commit -> “master”…
接着填写Message, 勾选Whole Project 选项, 这样Commit 的时候可以将整个
项目的信息全部Commit 上去, 可以实现不需要打Tag 就能Checkout 出每次
Commit 的内容
接着修改foo1txt, 再创建一个文件夹dir1, 并且放置一个foo2txt 在dir1 目
录中, 再次commit 时, 就可以将dir1 和foo2txt 一起加入了
(3) 创建分支
在目录中选择TortoiseGit 再选Create Branch…就可以创建分支了
勾选Switch to new branch, 就可以跳转到建立好的分支上
添加一个foo3txt 后, commit 修改
接着通过Switch/Checkout…可以切换回master 分支
再创建一个Branch2, 在Branch2 中添加foo4txt 下面就可以看版本发展的
情况了
(4) 看分支情况及修改log
通过选择Show log, 可以看分支情况和修改log
勾选All Branches 可以看到所有分支的情况在Message 列中, 绿色的是分支, 红色的是当前工作分支
(5) 比较版本差异
通过按Shift 和鼠标左键, 可以选中两个版本, 接着再按鼠标右键, 选中Compare revisions, 就可以比较两个revision 了
比较主版本和Branch2, 可以发现是添加了foo4txt
(6) 合并分支
首先切换到master 分支, 接着选Merge
就可以实现将分支合并到主版本
(7) 其他 *** 作
a) Stash
Git 提供了一个暂存修改的功能, 称为Stash, 在一些程序进行了修改, 但还不想commit 成revision 时, 就可以将这些修改Stash 起来, 等到后面需要时再将它
们Pop 出来
b) 忽略文件
一些编辑器在修改文件后会产生bak 文件, 一般不希望这些备份文件也加入库中, 可以选中一个bak 文件, 然后选择Add to ignore list 中的bak, 这样bak 文
件以后就不会被commit 了
忽略的文件是通过在项目的目录中添加一个gitignore 文件实现的, 因此也要将gitignore 加入忽略文件列表中
目前最火的版本控制软件就是Git了吧?你要是还用SVN或者CVS什么的都不好意思在圈里打招呼!前天我就遇到这种情况了,QQ上和老同学聊起自
己用SVN来管理程序版本,好麻烦,当场就惨遭鄙视---“你还用SVN啊?你Out了!我们都用Git了!”好吧为了不被人鄙视,也为了可以鄙视别人,
我终于也开始学Git了!
用了几天之后的感觉就是,确实好用啊!难道大家都来追捧!linus继linux之后又造福了人类一把!就是这个东西因为模式和之前的版本控制软件略有不同,所以入门上稍许有点难度,好吧不废话了,讲讲自己的心得体会吧!
首先不得不讲一下,需要分清git和github这是两个不同的东西,类似于linux和redhat,前者是开源的项目,后者则是利用这个开源的
项目提供服务的服务商。github是一个使用git来托管代码的网站,有两种托管方式,一种是公开的,任何人都可以下载和上传代码,另一种是私人的只有
建立者制定的人才可以下载或上传代码,私人的只有交钱才能用。
国内类似github的服务现在也冒出来不少,我用的是git@OSC ,这个的好处是无论哪种代码都是免费的,当然以后会怎样就不清楚了,目前使用中发现github的速度明显不如git@OSC ,看来前者还是不接地气啊。
因为这两个比较有代表性,后面我的使用基本就以这两个为例了。
*** 作系统自然是windows,用linux开发的都是大牛也用不着我来教,我的是win7,但winxp应该区别不大。
首先,你应该在你的电脑上安装msysgit和tortoisegit,
前者是git的windows版,有了他就可以在你的电脑上创建工程,克隆工程什么的,后者则是大名鼎鼎的小乌龟,一个图形化的Git *** 作程序,用过
tortoiseSVN的应该不会陌生,理论上只有前者也是完全可以使用git的,不过面对那赤裸裸的字符界面能受的了没几个吧。
这两个软件都很好安装就不多说了,假设你已经装完了,我的msysgit是184,tortoisegit是186,如果你们用的是其他版本的差别应该也不大。tortoisegit的早期版本应该在用户设置上略有不同。
第一部分 在本地使用git(类似SVN之中自己的电脑就是服务器)
首先,讲讲怎么在自己的电脑上创建和使用git库,没错,你可以将比较安全的磁盘当做之前SVN的服务器,把库(git叫repository)放在这里,然后把另一个磁盘当做工作区。
第一步,创建repository:
先进到那个你要当库的磁盘目录下,点鼠标右键,会出现这样一个东西:
其中关于git的有五项,前两项Git GUI Here和Git Bash Here不要理会,就是调用那两个程序而已。Git
Clone和TortoiseGit我们后面再说,既然是创建repository那就选择Git Create repository
here吧,这时又会出现这么个东西:
简单的说把Make it Bare勾上就表示这是一个单纯的repository,写代码的工作区放在另一个地方,我们既然是要创建一个库自然是要勾上了,然后点ok,会在目录下面出现很多稀奇古怪的文件和目录,不要在意,那都是git需要的东西。
这样一个库就完成了。
第二步,创建工作区:
我们转到要做工作区的那个磁盘的目录下,然后右键选择Git Clone,出现的是这样一个东西:
URL选择之前我们创建的库的目录,directory选择工作区,也就是你要放代码的目录。其他的不用管,ok之后会出现一个git目录,说明我们建立工作区成功了。
第三步 Add和Commit、push文件
我们在工作区的目录创建一个文件吧,比如testc
右键点击这个文件,选TortoiseGit:
Add就是把这个文件加入到TortoiseGit的关注列表之中,不进行这一步的话,这个文件哪怕你改出花来,小乌龟也是不会管的,而你Add之后,小乌龟就会随时关注这个文件是否修改。
在目录的空白处点击右键选择TortoiseGit,也可以批量Add文件,总之玩法很多大家可以自行研究。
选择Add之后会出现一个框,点击ok就可以,然后会出现这样一个框表示Add成功,先别急着点ok,我们还要commit呢:
同时testc的图标也变了,出来个加号,表示这个文件add成功了。
这里我们要花时间讲一下,git下文件的几种状态:
1就是没有Add的文件,这种文件在工作区的目录下就是普通的文件,小乌龟不关注他。
2就是Add成功的文件,用加号表示,但这个文件其实并没有保存到git的系统里,无论你怎样修改,也只是在工作区的目录下改变,git的系统里不会有这个文件的记录。
3是commit的文件,这个文件会保存在工作区下的git目录里(应该是吧)也就是你的本地的git系统里面,git会比较你commit前后是否修改,如果有修改会用红叉表示,否则就是一个绿色的对号。
4是push到repository之中的文件,repository可以是你本机建立的,也可以是类似github和git@OSC这样的服务器。
好吧我们现在只是add了,这肯定不行,必须要commit才算是利用了git啊,于是我们在刚刚那个对话框点击commit,这时候会要你输入一些提示,不写任何东西是无法选择ok的,好吧我们写上01表示这个版本,于是小乌龟允许你点ok了:
commit之后就是这样子了,这时候我们可以继续push也可以点ok关闭,以后再push:
commit成功之后文件是这个样子滴:
push的 *** 作和commit很类似,因为我们这个repository是建立在本机的另一个磁盘下的,所以push的过程之中不需要输入密码什么的,直接搞定,没什么可讲的。
只需要注意commit的文件是保存在工作区的目录的,而push成功的文件是保存在repository里的。
第二部分 如何利用GitHub和Git@OSC
首先,需要你有GitHub和Git@OSC的账户。创建账户的过程不多说。
然后在自己的账户下创建Repository,过程当然也是在网页上点几下,填点文字就行了,至于license和readmemd之类的东西,
默认放着就好。这个创建repository的过程其实就是之前我们右键选择create
repository的过程,只不过之前我们是在本机上创建,而这里是在服务器上而已,本质没啥区别。
至于项目的类型,我们先讲public,之后有时间的话我再讲private(话说github的private是要收钱的,所以我也没试过)。
创建了之后那就是下载和上传自己的代码文件了。
这就和第一部分的过程很类似了,我们进到作为工作区的目录下面,右键选择git clone:
会出现这么个东西,和之前的很类似:
区别就是这里的url我们不能像第一部分那样填写本机的目录了,而是要填写github或者Git@OSC提供给你的url,github是在每个项目的右下角这里获取:
git@OSC则是项目主页的正中间:
复制,然后粘贴到小乌龟的那个文本框里就可以,然后ok,因为我们说的是public项目,所以没有密码之类的问题,很顺利的就会clone成功。
然后我们新建一个文件,add,commit的过程都和第一部分完全相同,注意commit之后的文件也依然保存在本地,接下来我们要做的就是把commit的文件push到服务器上, *** 作方式是在工作区的目录空白处点击右键-》tortoiseGit-》push:
因为是push到服务器上,所以会出现这样的对话框,填写自己的账户密码即可:
之后去github和git@osc上自己的项目主页上看看吧,你的文件已经push到服务器上了!
TortoiseGit是一个开放的,为的git版本控制系统的源客户端。像一个普通的文件服务器,除了会记得您有史以来的文件和目录的每一个变化外,还可以恢复您的文件的旧版本,并研究如何以及何时改变了历史数据,谁改变了它。git相对于其他的版本控制,优势在于分支管理。几个常见情况及分支使用方法。1对于自己的代码修改后,却已经不知道服务器上的代码是否已经发生改变。此时想上传自己的代码。1)在master上创建分支mysrc;2)switch到mysrc分支,进行修改代码;3)修改好代码后,进行gitcommit *** 作;4)switch到master分支,进行gitpull *** 作,将服务器上的代码签下来;5)进行gitmergefrommysrc *** 作,将mysrc的代码合并到master中;6)gitcommit *** 作;7)gitpush *** 作。2修改自己的代码过程中,还不需要上传时,需要从服务器上签新的代码,但保留当前的代码修改。1)在master上创建分支mysrc;2)switch到mysrc分支,进行代码修改;3)进行gitcommit *** 作;4)switch到master分支,进行gitpull *** 作;5)switch到mysrc分支,进行gitmergefrommaster *** 作;6)gitcommit *** 作。3修改了代码,但仅想上传部分代码,其余代码保留同服务器版本。1)在master上创建分支mysrc;2)switch到mysrc分支,进行代码修改;3)修改好后,对部分代码进行gitcommit *** 作;4)进行gitrebase *** 作,将其他代码还原;5)switch到master分支,进行gitmergefrommysrc *** 作;6)gitpush *** 作。
TortoiseGit并没有自带PuTTY客户端,你需要先去下载一个。 在 Session 界面,设置 Host Name 和 Port: 在 Connect->SSH->Auth 界面,设置 Private Key: 回到 Session 界面,保存 Session。 有了 Session 之后,就可以在TortoiseGit中将这个 Se
有点长,仔细看看哈
首先你得安装windows下的msysgit。
安装版本控制器客户端TortoiseGit [不习惯英文的朋友,也可以下个语言包]。
下载地址:>
以上就是关于使用TortoiseGit(小乌龟) *** 作分支的创建全部的内容,包括:使用TortoiseGit(小乌龟) *** 作分支的创建、androidstudio怎么用tortoisegit、来讲讲Git这个玩意到底该怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)