发布网友
共3个回答
懂视网
截止目前,新版的 APICloud Studio 2 仍然处于公测期.APICloud Studio 2 的代码管理客户端,由 SVN 改为了 GIT.公司代码服务器,仍然是 SVN 服务器,前端使用 GIT 作为客户端.一些童鞋,肯定已经猜到了 -- APICloud Studio 2使用了 GIT-SVN 技术来管理代码.
这一重要的特性,不成想,却成为了 APICloud Studio 2 的一大槽点,几乎每天都有人在论坛问 "为什么提交到代码没有效果?" 一类的问题.我们每天都在论坛,QQ,或者通过邮件,来尝试解答开发者此类的关于代码提交的问题.发现问题,主要还是集中在个人日常的代码管理工具的使用习惯上.有过 GIT 使用经验的人,基本看过文档或简单提示,都能轻松上手;更多的使用 SVN 来管理代码的开发者,虽然最终能提交到代码到 APICloud 云端了,但是可能还是无法真正理解: 为什么云端同步代码前,我必须做一次本地提交.
查看日志,可以通过在 ctrl/cmd + shift + p 调出命令输入框,然后输入 log,选中 Git Plus: Log 命令.
在项目的本地提交记录页面,如果看到刚刚提交的,就说明已经本地提交成功了.
我们建议每次 "同步到云端" 前,都先做一次 "同步到云端" 操作,类似于 SVN 中的先更新,再提交.云端同步期间,底部控制台会有日志输出;云端同步结束,左上角会有提示通知.
APICloud Studio2 集成了云端的各个功能,我们可以直接右键项目,进去其对应的云端界面.此时我们看到我们刚刚的修改,已经同步到云端了.
是不是很方便,很神奇,竟然可以真的使用 GIT 来管理 SVN 代码了.对 GIT-SVN 技术感兴趣的,还不赶紧去搜下?!
首先,需要说明一下: 代码管理功能,只是 APICloud Studio2提供的基础功能之一,并且没有必须使用 APICloud Studio2管理代码,才能继续使用 APICloud Studio2的其他功能.如果你依然对 SVN 情有独钟,或者这几天项目实在太赶,可以使用各种第三方代码管理工具来管理你的 APICloud 应用.SVN 地址和密码,可以从云端控制台获取.
然后,才是 APICloud Studio2的核心代码管理工具,为何改为 GIT 呢?当然是因为它更高效,更有潜力了!如此说,可能有些抽象,来个具体的例子吧.大家可以看下 2.1.4 有一个很重要的但是不是很起眼的更新: 倾情推出本地代码时光机功能,支持手动备份和与云端同步时,自动备份本地未提交代码.它基于 GIT 的 stash 命令实现.可以做到,只要你本地 .git 目录不人为破坏,所有没有提交的代码,一旦因为某种意外丢失,都可以使用 "本地代码时光机" 功能找回.当然, 大家不用担心 .git 目录体积的问题,因为本地备份,不是简单的 zip 压缩,感兴趣的可以好好研究下 git stash 命令.
GIT 这么好用,为什么还是有人不知道怎么用它提交代码?当然是个人代码管理工具使用习惯的差异了.但是,我可以很负责任地告诉你,熟悉下 GIT,不仅有利于你更好地开发 APICloud 应用,更有利于以后自己学习和工作的方方面面.试着换个角度看世界,会发现新的不同呦~
热心网友
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
也就是说自己机器上有一个git仓库。
这和svn是不同的,svn是没有本地的仓库的。
所以git是先提交到本地仓库,然后推送到服务器。而svn是直接提交到服务器。
这里说一下几个含义:
拉取:将服务器中git仓库的数据拉取到本地git仓库,同时修改(更新)当前分支的文件
获取:仅仅将服务器中git仓库的数据拉取到本地git仓库
提交:将修改的文件提交到本地git仓库。
推送:将本地git仓库上的数据推送到服务器。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
git和svn的一点不同在于svn是通过目录结构来区分不同的分支的。而git你可以点击切换/检出 来切换不同的分支。
在svn上右键点击Repository Browser可以看见整个工程的目录结构
在git上可以点击版本分支图查看整个工程的分支解构。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
git分支保护:自己并没有权限推送到当前分支:
1自己创建一个分支,
2将自己创建的分支推送上去,
3登录git,发送Merge Requests(合并分支的请求)给相关人员。
4通知相关人员,并由相关人员将你的代码合并到主分支
热心网友
如果正在使用svn,打算换到git,又暂时不想放弃已有的svn代码库,可以选择git-svn。说一说我自己从svn到git的经验吧。开始安装最新版本的git,从git 1[color] diff = auto status = auto branch = auto[alias] st = status rb = svn rebase ci = commit -a co = checkout[user]部分标示出使用者的身份,你提交的代码会自动引用这一身份信息。[color]设置命令输出的颜色。[alias]部分可以简化一些常用命令,比如在这里将git status简化为git st。初始化代码库首先用git-svn来初始化本地的代码库(repository)git svn clone -s svn-repository-urlsvn-repository-url部分使用svn代码库的url。如果要从trunk目录或者某个branch目录里check out,要把-s换成-T、-b等选项。具体参看man git-svn。这个命令时间比较长,因为需要同步所有的提交历史,还好只此一次,以后不会这么慢了。做完这一步,在本地就有了一个完整的代码库,包括所有commit的历史和log,已经可以开始用它来进行开发工作了。不过,在开始开发之前,最好先做一次垃圾搜集:git gc它对代码库的信息进行垃圾搜集和压缩,最明显的作用就是减小磁盘占用空间。第一次做效果尤其明显。你可以检查一下代码库的状态:git status现在应该在一个叫”master”的分支(branch)上。用这个命令来显示出所有的分支(branch):git branch -amaster前有一个*号,代表你现在所处的分支,另外还有一个分支叫trunk,它是一个远程分支(remote branch),对应的是远程svn代码库。master实际上是trunk的一个本地分支。接下来,需要配置忽略文件,让git忽略一些目录中不希望加入代码库的文件,类似svn propset svn:ignore。全局有效的忽略文件列表可以添加在./.git/info/exclude文件中。比如我需要忽略所有vi产生的swp文件:.*.swp对于和目录有关的忽略文件设置可以在该目录下创建.gitignore,然后加入需要忽略的内容,比如我希望忽略根目录下的log,tmp等目录,可以直接在根目录下的.gitignore中加入:logtmp