bitbucket新建分支分支是什么意思

5618人阅读
老大要我去调研一下有什么好用的免费软件版本管理工具,有利于小团队开发的。我第一个想到的就是git,经常在git下东西,听说它的代码仓库好用,于是就注册了一个github的账号,创建仓库的时候才发现只能创建开源项目,私有仓库要收费,于是就在网站上问了很多人,发现很多人都是用bitbucket管理项目,它提供5人无限制的私有仓库,这个太诱惑了,所以花了一下午整了一下,尝试了一下,发现确实好用。老大说要整理一个简单易懂,没有学习成本的文档,我就写了这个,手把手操作指南
Bitbucket使用说明:
使用者请直接看第一步,第二步和使用说明,
需要自己创建仓库的可以看三四步
第一步:新用户注册&
然后按步骤创建一个教程代码库
可以选择下载SourceTree&和是一个客户端,图形界面,挺方便的
主界面有个教程,挺详细的,可以看看
第二步:设置中文
点右上角的小人图标,然后点击“Manage&account”
在里最下面有个选项,,改成
第三步:创建仓库
创建完可以用SourceTree复制代码进去,点击用克隆
会弹出这个窗口,可以更改目标路径(必须是空文件夹,不存在的最好)
里面现在是空的,点击在文件管理器中打开
把代码复制到这个文件夹
然后查看SourceTree,里面就有未保存的文件(如果没有,点击下日志历史)点击“未暂存的文件”&
就会变成“已暂存的文件”&
然后点击工具栏的”提交”
输入需要说明的文字,点击提交
这时候你可以看到分支那里有了东西,不过这个时候还只是在你的本地
点击推送,就会放到服务器上
点击显示完整输出,可以看进度,如果变绿,出现执行成功,就行了,文件多会稍微慢点
然后去网站,刷新一下页面,就会出来信息
第四步:管理仓库
源码部分可以下载和查看源码
提交部分可以查看提交记录
点击提交下面的蓝字,可以查看这个版本修部分,每个变化文件都会显示出来,红色表示删除代码,绿表示添加代码,十分方便查看这个版本更新了什么,
旁边的通知图标可以留言评论
第五步:代码更新
代码更新的一般步骤:克隆代码——修改——提交——推送
Eclipse可以用方便完成,有工具,有插件,其他情况可以用完成
具体的,可以查询其他资料,因为我目前是用java,我会再写一个egit的使用方法
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:90076次
积分:1581
积分:1581
排名:第18520名
原创:67篇
评论:33条
文章:13篇
阅读:13527
阅读:9879
文章:20篇
阅读:2775
(1)(12)(46)(1)(5)(1)(1)(1)(8)My Game笔记(15)
一、软件及SSH keys:
由于我的Bitbucket账号的邮箱及用户名与Github相同,所以SSH Public Keys可以用Github的,登录Bitbucket,悬浮在用户名boliquan那里点击“Account”,点击左边的“SSH keys”即可进行设置
软件不用再安装,仍然使用Github的
二、创建一个私有项目及上传:
登录后鼠标悬停在“Repositories”选择“create repositories”,“Name”填写项目名如ylife,默认勾选了“Private”
“Repository type”勾选“Git”,选好项目使用的“Language”
“Description”填写描述,“Website”填写发布地址
可以看到私有项目有一个小锁图标
在D盘创建一个Bitbucket文件夹,在里面再创建一个ylife文件夹,并将项目文件放进去,在“ylife”文件夹上右击“Git bash”出现命令框
git add . 添加所有文件(只是在本地准备好,注意那个“.”表示所有文件)
git commit -m 'version 1.2.6'
引号中是说明信息
git remote add origin git@bitbucket.org:boliquan/ylife.git
git push origin master
上传步骤到此完成
如果想访问https://bitbucket.org/boliquan/ylife/ 时直接进入源代码页面,点击“Admin”,“Landing page”选择“Source”即可,这里还可以设置很多东西,比如可以勾选“Private”为私有库,取消勾选则变为公有库
三、修改本地文件及上传
修改好本地文件后,在“ylife”文件夹上右击“Git bash”出现命令框
如果添加了内容则要先 git add .
git commit -a -m 'version 1.2.6'
修改(本地)
git push origin master
修改(服务器),去Bitbucket网上可以发现已经修改了
四、创建一个tag:
在“ylife”文件夹上右击“Git bash”出现命令框
git tag -a 1.2.6 -m 'version 1.2.6'
引号中是说明信息
git push --tags
就可以在Bitbucket网上看到创建的tag了
五、删除某个tag
在“ylife”文件夹上右击“Git bash”出现命令框
git tag -d 1.2.6
删除这个tag(本地)
git push origin :refs/tags/1.2.6
删除这个tag(服务器),这时可以发现Bitbucket网上的那个tag不见了
六、从服务器下载项目
在“Bitbucket”文件夹上右击“Git bash”出现命令框
git clone git@bitbucket.org:boliquan/ylife.git
会下载到一个以“ylife”命名的文件夹及源码
本文标签:&
本文链接:&
版权所有:&, 转载请注明本文出处。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:746889次
积分:9891
积分:9891
排名:第1167名
原创:229篇
转载:219篇
评论:88条
(1)(2)(3)(4)(8)(4)(1)(1)(5)(1)(7)(13)(12)(11)(4)(9)(3)(8)(4)(6)(3)(1)(2)(4)(2)(2)(24)(7)(9)(44)(2)(1)(2)(2)(3)(6)(14)(22)(3)(6)(6)(6)(2)(8)(12)(10)(19)(18)(19)(20)(28)(24)(7)(6)谁有git 和bitbucket 的使用方法或教程求大神指点_百度知道bitbucket 用什么开发的_百度知道6100人阅读
核心流程: 从远端中心repo那里git clone 到本地,再在本地开发(add, commit), 通常会利用branch管理,如果觉得code 没问题了,就push到远端的中心repo上。这里中心的repo 就是 bitbucket上的repo。
git 之后 不需要 减号-
1. git &clone https的path
把repo下载到本地
2. git status
查看哪些文件修改了。
如果提交前,想看看具体那些文件发生变化,可以通过git-diff来查看。git diff 与 git status 区别?
3. git &add filelist 或者* 告诉git,这些file改变了,将要commit。只是起到通知和标识的作用
相当于上传照片的时候,“选中”照片的功能,commit 则相当于上传
4. git commit
git commit -m & & &
5. git branch分支管理
在 git 版本库中创建分支的成本几乎为零,所以,不必吝啬多创建几个分支。当第一次执行git init时,系统就会创建一个名为”master”的分支。在bitbucket中已经创建了master分支(trunk)我们只需要clone下来即可。而其它分支则通过手工创建。下面列举一些常见的分支策略,这些策略相信会对你的日常开发带来很大的便利。
1.创建一个属于自己的个人工作分支,以避免对主分支 master 造成太多的干扰,也方便与他人交流协作。
2.当进行高风险的工作时,创建一个试验性的分支,扔掉一个烂摊子总比收拾一个烂摊子好得多。
3.合并别人的工作的时候,最好是创建一个临时的分支用来合并,合并完成后在“fatch”到自己的分支(合并和fatch后面有讲述,不明白就继续往下看好了)
查看分支 – git branch
调用git branch可以查看程序中已经存在的分支和当前分支
创建分支 – git branch 分支名
要创建一个分支,可以使用如下方法:
1. git branch 分支名称
2. git checkout –b 分支名
使用第一种方法,虽然创建了分支,但是不会将当前工作分支切换到新创建的分支上,因此,还需要命令”git checkout 分支名” 来切换,
而第二种方法不但创建了分支,还将当前工作分支切换到了该分支上。
另外,需要注意,分支名称是有可能出现重名的情况的, 比如说,我在master分支下创建了a和b两个分支,然后切换到b分支,在b分支下又创建了a和c分支。 这种操作是可以进行的。 此时的a分支和master下的a分支实际上是两个不同的分支。因此,在实际使用时,不建议这样的操作,这样会带来命名上的疑惑。
删除分支 – git branch -d或–D 分支名
-d 是删除,-D是强制删除
git branch –D 分支名可以删除分支,但是需要小心,删除后,发生在该分支的所有变化都无法恢复。
切换分支 – git checkout 分支名
如果分支已经存在, 可以通过 git checkout 分支名 来切换工作分支到该分支名
合并分支 – git merge
git merge的用法为:git-merge “some memo” 合并的目标分支 合并的来源分支。如:
如果合并有冲突,git会由提示,当前,git merge已经很少用了, 用git pull来替代了。
用法为:git pull 合并的目标分支 合并的来源分支。 如git-pull . dev1
$ git branch
$ git branch -v
93b412c fix javascript issue
7a98805 Merge branch 'iss53'
testing 782fd34 add scott to the author list in the readmes
$ git branch --merged
$ git branch --no-merged
$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.
与远程sever操作!! clone pull push
2.7 远程获取一个git库 git-clone
在2.1节提到过,如果你不是一个代码模块的发起者,也不会使用到git-init命令,而是更多的是使用git-clone。通过这个命令,你可以从远端完整获取一个git库,并可以通过一些命令和远端的git交互。
基于git的代码管理的组织结构,往往形成一个树状结构,开发者一般从某个代码模块的管理者的git库通过git-clone取得开发环境,在本地迭代开发后,再提交给该模块的管理者,该模块的管理者检查这些提交并将代码合并到自己的库中,并向更高一级的代码管理者提交自己的模块代码。
git-clone的使用方法如下: git-clone [ssh://]username@ipaddr:path。 其中, “ssh://”可选,也有别的获取方式,如rsync。 Path是远端git的根路径,也叫repository。
通过git-clone获取远端git库后,.git/config中的开发者信息不会被一起clone过来。仍然需要为.git/config文件添加开发者信息。此外,开发者还需要自己添加. gitignore文件
另外,通过git-clone获取的远端git库,只包含了远端git库的当前工作分支。如果想获取其它分支信息,需要使用”git-branch –r” 来查看, 如果需要将远程的其它分支代码也获取过来,可以使用命令” git checkout -b 本地分支名远程分支名”,其中,远程分支名为git-branch –r所列出的分支名, 一般是诸如“origin/分支名”的样子。如果本地分支名已经存在,则不需要“-b”参数。
2.8 从远程获取一个git分支 – git-pull
与git-clone不同, git-pull可以从任意一个git库获取某个分支的内容。用法如下:
git-pull username@ipaddr: 远端repository名 远端分支名:本地分支名。这条命令将从远端git库的远端分支名获取到本地git库的一个本地分支中。其中,如果不写本地分支名,则默认pull到本地当前分支。
需要注意的是,git-pull也可以用来合并分支。 和git-merge的作用相同。 因此,如果你的本地分支已经有内容,则git-pull会合并这些文件,如果有冲突会报警。
2.9 将本地分支内容提交到远端分支 – git-push
git-push和git-pull正好想反,是将本地某个分支的内容提交到远端某个分支上。用法:
git-push username@ipaddr: 远端repository名 本地分支名:远端分支名。这条命令将本地git库的一个本地分支push到远端git库的远端分支名中。
需要格外注意的是,git-push好像不会自动合并文件。这点我的试验表明是这样,但我不能确认是否是我用错了。因此,如果git-push时,发生了冲突,就会被后push的文件内容强行覆盖,而且没有什么提示。 这在合作开发时是很危险的事情。
2.10 库的逆转与恢复 – git-reset
库的逆转与恢复除了用来进行一些废弃的研发代码的重置外,还有一个重要的作用。比如我们从远程clone了一个代码库,在本地开发后,准备提交回远程。但是本地代码库在开发时,有功能性的commit,也有出于备份目的的commit等等。总之,commit的日志中有大量无用log,我们并不想把这些 log在提交回远程时也提交到库中。 因此,就要用到git-reset。
Git-reset的概念比较复杂。它的命令形式:git-reset [--mixed | --soft | --hard] [&commit-ish&]
命令的选项:
这个是默认的选项。 如git-reset [--mixed] dev1^(dev1^的定义可以参见2.6.5)。它的作用仅是重置分支状态到dev1^, 但是却不改变任何工作文件的内容。即,从dev1^到dev1的所有文件变化都保留了,但是dev1^到dev1之间的所有commit日志都被清除了,而且,发生变化的文件内容也没有通过git-add标识,如果您要重新commit,还需要对变化的文件做一次git-add。这样,commit后,就得到了一份非常干净的提交记录。
相当于做了git-reset –mixed,后,又对变化的文件做了git-add。如果用了该选项, 就可以直接commit了。
这个命令就会导致所有信息的回退, 包括文件内容。 一般只有在重置废弃代码时,才用它。 执行后,文件内容也无法恢复回来了。
3. 基于git的合作开发
对于酷讯来说,当我们采用了Git,如何进行合作开发呢? 具体步骤如下:
3.1 获取最新代码
酷讯会准备一个中心git代码库。首先,我们将整理好的代码分模块在git中心库中建立git库。并将文件add到中心库中。 接下来,开发者通过git-clone将代码从中心库clone到本地开发环境。&
对于较大的项目,我们还建议每个组选择一个负责人,由这个负责人负责从中心库获取和更新最新的代码,其它开发者从这个负责人的git代码库中clone代码。此时,对开发者来说,这个负责人的git库就是中心库了。
3.2 和中心库进行代码合并
使用过CVS的人都知道, 在commit之前,都要做一次cvs update,以避免和中心库冲突。Git也是如此。
现在我们已经经过了code review, 准备向中心库提交变化了, 在开发的这段时间,也许中心库发生了变化,因此,我们需要在向中心库提交前,再次将中心库的master分支git-pull到本地的master分支上。并且和dev分支做合并。最终,将合并的代码放入master分支。
如果开发过程提交日志过多,可以考虑参照2.10节的介绍做一次git-reset。
此外,如果发现合并过程变化非常多, 出于代码质量考虑,建议再做一次code review
3.3提交代码到中心库
此时,已经完全准备好提交最终的代码了。 通过git-push就可以了。
3.4合作流程总结
大家可以看到,使用git进行合作开发,这一过程和CVS有很多相似性,同时,增强了以下几个环节:
1. 开发者在本地进行迭代开发,可以经常的做commit操作且不会影响他人。 而且即使不在线也可以进行开发。只需要最后向中心库提交一次即可。
2. 大家都知道,如果CVS管理代码,由于我们会常常做commit操作。但是在commit之前cvs update时常会遇到将中心库上的其它最新代码checkout下来的情况,此时,一旦出现问题,就很难确认到底是自己开发的bug还是其它用户的代码带来了影响。 而使用git则避免了用户间的开发互相影响。
3. 更有利于在代码提交前做code review。以往用cvs, 都是代码提交后才做code view。如果发生问题, 也无法避免服务器上有不好的代码。 但是用git,真正向中心库commit前,都是在本地开发,可以方便的进行code review, 然后才提交到中心库。更有利于代码质量。而且,大家应该可以感到,使用git的过程中,更容易对代码进行code review,因为影响因素更小。
4. 创建多分支,更容易在开发中进行多种工作,而使工作间不会互相影响。 比如user2对user1的代码进行code review时,就可以非常方便的保留当时的开发现场,并切换到user1的代码分支,在code review完毕后,也可以非常方便的切换会曾经被中断的工作现场。
诚然,带来这些好处的同时,确实也使得操作比CVS复杂了一些。但我们觉得和前面所能获得的好处相比,这些麻烦是值得的。 当大家用惯了之后会发现,这并不增加多大的复杂性, 而且开发流程会更加自然。
大家多动手,多尝试! 去体验git的魅力所在吧!let’s enjoy it!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:434679次
积分:8658
积分:8658
排名:第1499名
原创:441篇
转载:182篇
评论:17条
(3)(4)(14)(238)(21)(4)(4)(3)(6)(3)(19)(7)(1)(1)(5)(14)(8)(3)(11)(7)(1)(1)(6)(4)(2)(15)(15)(34)(16)(7)(15)(10)(3)(10)(2)(4)(2)(2)(1)(5)(16)(18)(16)(1)(3)(2)(4)(22)(2)(9)(1)

我要回帖

更多关于 bitbucket 删除分支 的文章

 

随机推荐