git

来源:互联网 发布:pubmed数据库中文 编辑:程序博客网 时间:2024/04/27 23:33
使用git上传代码到服务器:

1:首先需要在服务器建立仓库(比如说在码云上面建立一个仓库):地址如下:http://git.oschina.net
通过https 的方式提交代码到服务器
2:首先需要在本地初始化一个仓库,代码如下:
git init(表示在本地初始化仓库)

如果本地没有进行过任何配置,首先需要配置一些:
代码如下:

git config --global user.name + 用户名(用户名用双引号括起来)
git config --global user.email + 邮箱(邮箱用双引号括起来)

3:将本地文件加入到版本控制里面:格式如下:
git add + 需要加入到版本控制的文件名,名字全称(第一次使用 . 表示加入全部)

4:将版本控制的代码提交到本地仓库:代码如下:

git commit -m "提交的原因"

5:和远程仓库简历链接,代码如下:

git remote add origin 你仓库的地址

6:将本地的代码推向服务器,代码如下:

git push -u origin 你的分支名字

以上步骤就可以将本地的代码提交到服务器上面.

git 如何与Studio 进行关联起来:

1:允许git 版本进行控制:(vcs - Enable version Controller intergation - git)



2:向服务器提交代码:步骤:
点击右键 git- add - commit - push





以上步骤就可以将代码提交到服务器:

3:新建分支:
作用:
(1)在进行版本迭代的时候为了保留以前的版本就需要新建分子
(2):在本版本开发的时候,小的功能模块可以先在分支里面开发,最后再morege到主分支里面.
(3):当多人协同开发的时候,改bug 的时候可以先新建分支进行修改,最后再合并.

步骤如下
点击右键 git - Repository - Branches - new Branches (图如下)




点击 ok就完成新分支的建立.

4:分支之间进行切换:具体步骤如下:

注意:在分支切换之间必须首先把代码都提交给本地和服务器,(因为如果不提交干净,当前分支修改的代码会默认merge 到切换的分支)

步骤如下
点击右键 git - Repository - Branches - 选择要切换的分支 - check out (如下图)


以上两步就可以完成分支的切换.

5:merge(分支合并):

作用:用于分支的合并(主要是模块开发的时候使用)

具体使用步骤如下:



6:如何进行小组开发:

在 git 后台有一个项目成员管理的功能,这个功能主要是用啦合作开发的,

项目成员里面主要有以下主要几个功能:
1:所有
2:管理者
3:开发者
4:观察者
5:报告者

在小组开发的时候,需要全部把代码推向服务器来合并代码,这个时候我们的代码会发生冲突,studio 会自动帮我们识别我们冲突的代码,这个时候我们需要手动合并需要的代码
首先会出现如下界面:


这个时候我们需要点击 Merge 按钮,来合并代码这个时候会弹出如下弹框:


分别有三个按钮,分别是接收你自己的代码,接收别人的代码,Merge (合并两人的代码)
注意: 接收你自己的代码,就会把别人的代码删除掉,如果这个时候你提交代码,服务器的代码也会被你覆盖掉
接收别人的代码,就会把你自己的代码删除掉
选择Merge 就会进入如下界面:


左边是你本地代码,右边是来自服务器的代码,中间是合并的结果,如果你想保留服务器的代码,请点击 <<,如果你想保留自己的代码请点击 >>,中间的结果就是你点击 Apply 后的代码.

7:git 检出代码:

(1):首先获取到 git 代码仓库的地址,格式如下:
https://git.oschina.net/gaoxuejun/AndroidH5.git
(2):选择 studio 开发工具,打开主页面,如下:

(3):点击 check out project from Version Control - git :截图如下:


点击 git 会跳转如下界面:


点击 Clone 页面会跳转到如下界面:


点击 YES 打开你的开发工具,Clone 完成

8:git 提交代码的时候报错如下:


报错主体: remote origin already exises

解决办法如下:

首先输入:git remote rm origin
接下来再输入: git remote add origin 仓库地址


9:SVN 与git 的比较

1:SVN 是集中式管理,git 是分布式管理

集中式管理的流程如下:


首先两台电脑同时向服务器提交代码,两台电脑直接没有任何交互,对是通过服务器获取代码这就是集中式.

分布式管理流程如下:

分布式管理两台电脑直接可以进行交流,比如两台电脑在同一个办公室工作,这个时候我们向服务器提交代码,我们获取代码不会走服务器,我们会通过另外一台电脑获取.

2:Git把内容按元数据方式存储,而SVN是按文件
3: Git没有一个全局版本号,而SVN有
4:Git的内容的完整性要优于SVN: GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏
5: Git下载下来后,在OffLine状态下可以看到所有的Log,SVN不可以。
6:SVN必须先Update才能Commit,忘记了合并时就会出现一些错误,git还是比较少的出现这种情况
7:克隆一份全新的目录以同样拥有五个分支来说,SVN是同时复製5个版本的文件,也就是说重复五次同样的动作。而Git只是获取文件的每个版本的 元素,然后只载入主要的分支(master)
8:版本库(repository):SVN只能有一个指定中央版本库。当这个中央版本库有问题时,所有工作成员都一起瘫痪直到版本库维修完毕或者新的版本库设立完成。而 Git可以有无限个版本库
9:分支(Branch)在SVN,分支是一个完整的目录。且这个目录拥有完整的实际文件。如果工作成员想要开啟新的分支,那将会影响“全世界”!每个人都会拥有和你一样的分支。如果你的分支是用来进行破坏工作(安检测试),那将会像传染病一样,你改一个分支,还得让其他人重新切分支重新下载,十分狗血。而 Git,每个工作成员可以任意在自己的本地版本库开啟无限个分支
10:提交(Commit)在SVN,当你提交你的完成品时,它将直接记录到中央版本库。当你发现你的完成品存在严重问题时,你已经无法阻止事情的发生了。如果网路中断,你根本没办法提交!而Git的提交完全属於本地版本库的活动。而你只需“推”(git push)到主要版本库即可。Git的“推”其实是在执行“同步”(Sync)。

SVN的特点是简单,只是需要一个放代码的地方时用是OK的。
Git的特点版本控制可以不依赖网络做任何事情,对分支和合并有更好的支持(当然这是开发者最关心的地方)



0 0