首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

二十分钟拿Git干活

一、为什么使用git?

1、非常有利于自己知识和经验的积累

2、能够通过git展示工作经验和分享交流自己的项目

3、能够通过git管理团队和项目

二、为什么选git?

1、好用

2、无缝的提交到github等平台

三、git和github的关系?

git是一个版本控制工具

github是一个用git做版本控制的项目托管平台。

四、git 几个重要的概念

这里类比一下

仓库(书店):所有版本的代码都在仓库(所有版本的《金瓶梅》都在书店里)

分支(书架):不同功能功能的代码存放的地方(我把《金瓶梅》插图版和古装版放在不同的书架,这样可以互不干扰)

提交(书):每一个版本的代码 (《金瓶梅》插图版 第一版印刷,第二版印刷……)

五、核心重点基础内容怎么玩

官网:https://git-scm.com/git是可以装在自己电脑或者服务器的:

1、新建一个文件夹helloGit,进入

2、右键gitBash,创建仓库,

git init

3、创建一个a.txt,打开里面内容随便造。

4、输入

git status

看一下git的状态,这个命令牛掰之处就是告诉你接下来该怎么做,人家说了你没把a.txt交给仓库去管。

5、将所有文件加入到缓存区(相当于你把文件交给管理员了),

git add .

6、将文件 提交到仓库(管理员把你的文件扔仓库里了),

git commit -m '这里是写点注释,省的你不知道自己提交了什么内容,这是第一次提交'

这样一次提交就完成了,

7、打开a.txt 随便加点内容,继续造,然后

git add .

git commit -m '第二次提交'

8、我们看看我们提交了几个版本,

git log

这里我们提交的两次就看到了,而且能看到commit后面的id 。我要想回到第一次提交怎么办?

打开a.txt 看看,回到第一个版本了。到现在你已经会了,提交多个版本,回滚到某个版本。我想回到上一个版本老找id忒费事,可以用这个

git checkout -- .

六、说点进阶的玩法-分支

大家考虑这么一个情况,假如你是angularjs开发团队,你想angular2.0基于angularjs开发,但是有特别大的革命性变化,你说怎么办好?

这时候你看这样合不合理,我分一部分人负责原angularjs的基础维护和平滑升级,然后复制一份angularjs让另外一个团队进行革命性开发,这样两个团队都不互相干扰,等2.0的功能开发完成了,我再融合到原来的angularjs里面去。这个就是分支的功能。

我先复制一份原来的东西,开一个新的分支

git checkout -b new-fenzhi

我们看看现在有几个分支,

git branch

大家可以看到这里有两个分支,一个master,一个new-fenzhi,

新建b.txt的内容,然后

git add .

git commit -m '我在新分支上糟蹋的'

注意,这时候我们删除b,我们回到master分支,看看它影响master不,

git checkout master

git log

大家可以看到 根本就没有影响master,master下是没有b.txt 我们假设搞完了,把git new-fenzhi的东西合并回master怎么做,

git merge new-fenzhi

这样就合并回去了。

七、说下git和github一起玩。

1、最简单把github项目搞下来

git clone xxxxx.git

2、提交到github,第一次这么做

git remote add origin https://github.com/breaddream/helloGit.git

git push -u origin master

这里注意,如果提示orgin 已经存在,就先把远程的仓库删除再执行,

git remote rm origin

第二次以后这么做,

git push

八、后续学习

上面这些适合个人开发者,如果你是一个部门主管,那么你就要会搭建内网git服务器,因为公司项目有保密性要求,是不可能让你随便往git上传的。

如果团队很小,你自己搭建就ok了进行权限管理,如果公司已经有一定规模比如100人团队,就需要有linux程序员进行严格的权限管理了,尤其对源代码有很高保密性要求的公司,甚至员工的修改和操作都会有记录。

有兴趣的同学可以试着搭建一个git服务器供团队使用。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180627G1GQCE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券