2git merge xxx (合并 *** 作)
3git branch -d xxx(删除已经合并的分支,可选择不删除)
git clone url #克隆新的版本库
02 git init
03 git pull repo_name #有关联的远程库,抽取并和本地合并
04 git fetch remote_repo_name #抽取并新建分支
05
06
07
08 #在当前commit对象上新建分支 指针head
09 #head指向正在工作中的本地分支的指针(别名)
10 #不会切换到新建的分支上
11 git branch branch1
12
13 #切换分支将head指向branch1
14 git checkout branch1
15
16 #工作流程卡
17 #在不同的分支里反复切换,并在时机成熟时把他们合并到一起
18 #git的分支实际是一个包含所指向对象校验和的文件(40个字符长度SHA-1字串)
19
20 #分支的新建和合并
21 #0、自己工作分支mybranch,工作的好好的
22
23 #1、突然有新需求,先切换到生产环境分支product;
24 git checkout product
25
26 #2、为新需求新建分支branch_pack,切到其中,并在其中编码,直到通过测试用例
27 # -b 新建分支并切换到其上
28 git checkout -b issueXXXX
29
30 #3、切换到生产环境分支product,将2中的开发工作分支branch_pack合并进来,然后推送到生产服务器上
31 git checkout product
32 # 合并
33 git merge branch_pach
34 #冲突解决,merge失败时很可能因对同一文件的同时更改,所以必须手动人工解决 取舍代码,确认冲突解决后需要把冲突文件 git add到staged area,运行git status查看所有状态确保无误后再git commit提交,注释好冲突为什么这么解决
35
36 git push 远程仓库名 本地仓库名
37
38 #分支删除
39 git branch -d branch_pach
40
41 4、切换到mybranch继续自己的工作
42 git checkout mybranch
43
44 #切换分支最好没有待提交的文件,即stage area是清洁的
45 #查看各个分支最后一个提交对象的信息
46 git branch -v
47 git branch --merge/no-merged
48 #查看哪些分支已被并入当前分支(译注:也就是说哪些分支是当前分支的直接上游
49
50
51
52 #给分支生成patch文件可以给
53 git format-patch
54
55
56 #把本地名为serverfix的分支推送到远程origin库的awesomebranch分支
57 git push origin serverfix:awesomebranch
58
59 #跟踪远程分支 从远程分支checkout出的本地分支成为 跟踪分支
60 git checkout -b sf origin/serverfix
61 git checkout --track origin/serverfix
62
63 #删除远程分支
64 git push origin :serverfix
65
66 git两种开发分支方法
67 长期分支:一个主分支保持稳定代码,其余多个开放分支
68 特性topic分支:多个短期单一功能的分支
69
70 #给当前文件 打特定版本标签
71 git tag -a beta01 -m "some 注释"
72
73 #回退到某个tag
74 git tag beta01
git中branch有三种类型:
local branch
本地分支,就是我们平常 *** 作的分支,git中默认是master分支
创建分支: git branch b1
切换分支: git checkout b1
remote branch
它实际上是指向远端服务器的某个分支,用来跟踪远程分支的变化
tracking branch
跟踪分支是一种和远程分支有直接联系的本地分支(远程分支的本地书签、别名),跟踪分支是一种本地分支
当我们在跟踪分支上使用git pull命令,会自动从相应的remote branch上fetch,然后在merge到该分支上,如果我们想在跟踪分支上直接使用git push命令,让它自动push到对应的remote branch上,当我们使用git clone命令后,会自动在本地建立一个master的分支来跟踪origin/master。
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git的读音为/gɪt/。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 很多 Freedesktop 的项目迁移到了 Git 上。
21 在Git服务器上新建版本库在使用VS2015进行团队开发前,我们先在Git服务器上创建新的版本库。
打开我们已经安装好的GitStack(如查直接看本篇的同学,可以先看一下服务端环境搭建一文URL:使用GitStack+TortoiseGit 图形界面搭建Git环境)
在GitStack中创建新的版本库,名为“MyGitForVsObject”,并新建两个用户"yubinfeng"和“zhangsan”,再新建一个组"MyGitGroup",将这两个用户加入到该组,并给版本库授权该组。具体 *** 作这里不再赘述,不了解的朋友请看上面的URL
22 在VS2015中克隆远程版本库我们先在VS2015中新建一个解决方案,在工具栏,点“团队”=》“管理连接”
按上图所示,右打开的 团队资源管理器中,输入远程Git URL,点击克隆按钮,即可完成在VS2015中克隆远程版本库了
克隆成功后,可以在 本地Git存储库 中看到 本地版本库已经 从服务器上克隆下来了。
23 Git全局设置完成版本库克隆后,我们需要在Git中进行一次全局设置。
工具栏 - 团队 - 管理连接,打开团队资源管理器
点击主页按钮
点击设置,选择全局设置,完成如下三项更改,点更新
用户名:将作为你以后版本提交后日志显示的名称
电子邮件:团队联系使用
默认存储库位置:最好进行一下改动,默认在C盘,防止丢失
24 Git存储库设置存储库设置和全局设置类同
工具栏 - 团队 - 管理连接,打开团队资源管理器
点击主页按钮,选择 设置 - 存储库设置
其他内容不需要设置,主要 添加一下远程 。这将是以后获取新版本和推送到服务器的地址
此时,我们可以看到项目文件前面有一个小锁,并且代码中已经有了Git的信息,表示项目已经已经受到Git控制
25 第一次向Git服务器发布项目我们上面看到的所有Git的受控信息,只是相对于克隆到本地的版本库,此时Git服务器并没有接收到这些工程文件,下面我们要做的将是第一次将本地版本库中的工程文件同步到Git服务器,即项目发布
工具栏 - 团队 - 管理连接,打开团队资源管理器
点击小房子,回到Git主页,点击同步
我们第一次将本地分支发布到远程服务器,点击发布
输入远程URL,发布,即可发布到远程库
我们可以打开GitStack查看日志
上面显示的时间,为你在本地 *** 作的时间。我们可以看到Git作为分布式版本控制系统,你在离线进行 *** 作,在推送时,显示的均为你 *** 作时间,而非推送时间。
26 拉取、获取、合并、提交、推送、同步项目开发过程中,我们通常进行下面几种 *** 作,我一次性介绍,这个和上篇TortoiseGit类似,直接看本篇的同学,可以参考上篇,URL:图形化Git客户端工具TortoiseGit
拉取(Pull):将远程版本库合并到本地版本库; 相当于(Fetch+Meger)
获取(Fetch):从远程版本库获得最新版本
合并(Meger):将两个版本库进行合并 *** 作
提交(Commit):将所做的更改,存入本地暂存库
推送(Push):将所做的更改,存入远程版本库
同步(Pull+Push):先将远程库拉取,再将本地库推送到远程库 注意这个顺序; 相当于(Pull+Push)
我们对文件进行修改后,文件前有一个小对号,右击,点提交
我们在提交文件时,记得填写备注,在团队开发中,保持一个良好的习惯
提交在这里有三种:
提交:即将文件存入本地版本库
提交和推送:即将文件更改同时存入本地版本库和远程版本库
提交和同步:将文件更改提交到本地库的,再从远程版本库拉取新版本到本地,再推本地库到远程版本库
注意:
这里的 *** 作,不针对当前文件,而是对所有变更进行提交、推送或同步。
27 创建分支对于创建分支在上篇(URL:图形化Git客户端工具TortoiseGit)中已经介绍过了,这里主要介绍一下如何基于Vs2015创建Git分支
工具栏 - 团队 - 管理连接,打开团队资源管理器
点击小房子,回到Git主页,点击分支
打开分支界面,在master分支上右击,选择 "从选定项创建本地分支"
在这里需要注意我们创建分支,有两种:
(1)创建本地分支
(2)创建远程会支
本地分支有创建前,一定要获取最新版本;远程分支,则要求所有成员最好能推送更改。
至于分支的创建是基于远程还是本地,最好能在团队成员之间达成一致。
下面介绍两种分支的创建方法
先看创建本地分支
输入一个分支名称,创建即可。
远程分支,我们需要选择如下
在创建远程分支时,一定要把跟踪远程分支,这个取消选择,否则将创建了一个跟踪分支,我们就不能发布了。
创建完成后,如下:
分支创建成功,接下就是发布到服务器
右击,点发布分支,即可。
可以看到,分支已经发布到服务器上了。
在服务器上通过GitStack也可以看到,多了一个分支。
28 切换和合并分支在VS2015中切换分支非常简单,只要在分支名称上双击,就可以了,项目资源管理器中的文件随之变化。
这里主要看一下合并,
我们先切换到新建的分支"2016-2-7",在分支名称右击,选择 合并自
选择master ,点击合并,即可完成将master合并到新分支了。
29 删除分支删除分支,首先要从远端删除,如下:
注意,如果要删除刚才新建的分支,和上篇TortoiseGit一样,要切换到另一分支 *** 作。
远端删除后,服务器上的分支就被删除了,本地的分支,直接删除即可。
git 创建分支提交远程分支分类: develop
1创建本地分支
git branch 分支名,例如:git branch 20120120806
注:20120120806是分支名称,可以随便定义。
2切换本地分支
git checkout 分支名,例如从master切换到分支:git checkout 20120120806
3远程分支就是本地分支push到服务器上。比如master就是一个最典型的远程分支(默认)。
git push origin 20120120806
4远程分支和本地分支需要区分好,所以,在从服务器上拉取特定分支的时候,需要指定远程分支的名字。
git checkout --track origin/20120120806
注意该命令由于带有--track参数,所以要求git164以上!这样git会自动切换到分支。
5提交分支数据到远程服务器
git push origin <local_branch_name>:<remote_branch_name>
例如:
git push origin 20120120806:20120120806
一般当前如果不在该分支时,使用这种方式提交。如果当前在 20120120806 分支下,也可以直接提交
git push
6删除远程分支
git push origin :develop
-----------------------------------------------------------
1,从已有的分支创建新的分支(如从master分支),创建一个dev分支
Git checkout -b dev
2,创建完可以查看一下,分支已经切换到dev
git branch
dev
master
3,提交该分支到远程仓库
git push origin dev
4,测试从远程获取dev
git pull origin dev
或者:
如果用命令行,运行 git fetch,可以将远程分支信息获取到本地,再运行 git checkout -b local-branchname origin/remote_branchname 就可以将远程分支映射到本地命名为local-branchname 的一分支
5,我觉得现在重要的就是设置git push,pull默认的提交获取分支,这样就很方便的使用git push 提交信息或git pull获取信息
git branch --set-upstream-to=origin/dev
取消对master的跟踪
git branch --unset-upstream master
6,现在随便修改一下工程文件的内容,然后git commit ,git push,之后就可以直接提交到远程的dev分支中,而不会是master
_________________________
本地Git与远程仓库进行关联
作者 LeoAu
1进入本地项目路径,例如 cd /mnt/ 远程仓库地址(这里使用>次右击,菜单中点选Git Bash,d出命令行
24 配置所有本地仓的账号、邮箱
$ git config --global username "Your Name"
$ git config --global useremail "email@examplecom"
25 为避免每次远程访问输入密码,使用ssh登陆。ssh应该是与本机信息绑定的,所以每台电脑需要单独生成。
$ ssh-keygen -t rsa -C "youremail@examplecom"
26 ssh只是本地详细,需要在GitLab中备份,才能被验证。打开自己的GitLab,在My Profile中,点击Add Public Key,title随意。
27 key中的内容在本机C盘中,C:\Users\a1、Android Studio
谷歌推出的Android集成开发工具,经过多年的迭代发展已经变得非常强大及人性化,各式各样的工具插件满足日常的开发需求,也可以自己制作工具插件,下载即可赠送SDK和JDK大礼包,并配置好环境变量,基本做到一键式开发。记得15年刚开始做开发时使用的是Eclipse,需要手动配置sdk,jdk,环境变量等,对于当时处于新手的我来说非常的繁琐,也增加了时间成本。
2、Figma
UI制作查看工具,最近几年比较火的UI设计软件,使用起来就跟在线文档一个感觉,设置权限之后,只有美工人员可以进行编辑,而开发人员只能进行查看,里面配置了Android、ios、css等不同平台所需要标注参数,方便不同平台开发人员查看,对比其它工具优点是打开查看UI非常方便,不需要像pxcook要先下载源UI文件,需要吐槽的是导出多尺寸没有Pxcook工具那样方便,只能一张一张导出命名,可能是没找到正确的使用方式,有懂的同学可以下方留言。
3、GitLab
用于代码仓库管理系统,使用Git作为管理工具,并在此基础上搭建起来的Web服务。一般用于管理开发的业务主项目、开发自研的框架等,可以很方便查看远程代码仓库以及组员的提交内容,也可以使用里面的ci去构建自动化打包,但目前使用到的自动化打包构建方式还是Jenkins比较多点,ci配置需要权限等问题。
4、Git
开源的分布式版本控制系统,同样的工具还有svn(小乌龟),cvs等,用于代码的提交拉取合并等。记得刚开始做开发时用的是svn,每次发布上线完一个版本后都要备份一份代码在服务器,开发过程中途如果遇到要紧急发布个小版本就可以通过备份的代码进行开发发布小版本,非常不方便。直到后面用了git替代才发现原来这么的方便,git可以很方便拉取分支、切换分支、合并分支到主干,再结合Gitlab、GitHub等仓库管理系统进行可视化代码管理,大大提高了效率。
5、Jenkins
基于Java开发的一种持续集成工具,用于自动化打包apk到指定服务器,测试人员通过链接下载apk进行测试。常规 *** 作是将 Jenkins工具 部署
在远程linux服务器,将工程项目代码、SDK、JDK等打包编译需要的也配置到该服务器,还要一份打包Apk上传包到指定FTP的脚本,本地电脑通过web *** 作jenkins进行项目选择分支选择打包就可以。
未完待续switch用于在同一个版本库内不同分支之间的切换
relocate用于版本库访问地址变更时,重新定位版本库
比如,由于SVN服务器更换到另一台主机上,这是SVN服务器的地址改变了,那么各客户端就无法连接SVN服务器了,这时各客户端就需要执行relocate,将本地工作区的连接到新的服务器上去
而如果同一个版本库内,如果有多个分支,比如你现在正在trunk上开发,但需要切换到某个分支上开发,那么你可以用switch来进行这个切换 *** 作,这时SVN会比较trunk和这个分支之间的差异,将差异部分传送到你的本地工作区,而不用将整个分支传送给你,从而避免巨量数据的传输。switch *** 作之后,你所进行的update、commit *** 作都变成了针对那个分支,当你在分支上的工作完成后,还可以再次switch回trunk。
switch还有另外一些用途,比如希望让分支中的某个文件夹保持和trunk同步,因为有人正在trunk的这个文件夹中进行开发,在分支中想用到开发的最新成果,那么就可以在分支的这个文件夹上设置swtich到trunk,这时update整个分支的话,就会把trunk上的这个文件夹取下来了。但是,当然你如果修改了这个文件夹的内容,commit后也是提交到了主干而不是提交到了分支。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)