1、git是目前世界上最先进的分布式版本控制系统。svn是集成式版本控制系统,那么问题来了,什么叫分布式管理和集中式管理?

首先,svn 需要有一个中央服务器,协同开发者需要同中央服务器连接,所有的版本都存在了中央服务器上。开发者只有本地代码。一旦中央服务器挂掉,所有版本会丢失。

git采用分布式版本控制。也就是每个 开发者本地都有一套版本控制库,可以在自己本地实现版本的删除,还原等操作。也不用担心版本库丢失的问题,如果开发者1的版本库丢失,可以直接clone一份开发者2的版本库,开发同一个项目版本库是一样的,所以可以直接clone。当多人协作开发时,github就充当了远程仓库的作用。开发者将项目传到github上,方便

其他开发者获取代码。

2、git的安装 很简单,这里不多说了。在github上注册用户。创建一个仓库,这里我命名为protest;然后在F盘中创建了一个项目的文件夹叫做project。打开安装好的git命令行工具,进入该文件夹下:

利用git clone 命令获取github 仓库中的文件。

3、设置开发者信息。(注意要进入到项目文件夹中protest设置)

git config --global user.name "adela2" 设置开发者name为adela2, 如不加后面的名字,是查看用户名命令。

git config --global user.email  "email@qq.com"  设置开发者邮箱,如不加邮箱,是查看邮箱命令。

git config --list 查看所有配置信息。

4、git 分为工作区,暂存区,版本区。

工作区即本地项目文件夹中你所能看到的那一块。修改文件你可以先保存到暂存区,最后提交到版本库中。暂存区作用很大,避免了误操作。还有代码写到一半,为了防止丢失,可以先保存到暂存区中。

5、git 命令--status

git status 查看 工作区 暂存区 的状态

例如,我在项目中添加了html.html 和layout_box.css 文件,利用git status 命令查看当前状态如下:

6 添加命令

git add 命令将文件添加到暂存区。,还可以git add .  把所有修改的文件添加到暂存区。再用git status 查看一下状态:

git commit 命令将暂存区文件提交到版本区。git commit -m "注释";

git commit -a -m "注释",一步从工作区提交到版本区;

git log 查看提交日志;

7、对比命令

git diff 查看工作区和暂存区的区别对比;

git diff --cached 查看暂存区和版本区之间的对比;

git diff master  其中master为版本库的名字,查看工作区和版本区之间的区别;

8、撤销命令

git reset HEAD <filename> 撤销add 操作,比如你把工作区的代码添加 到了暂存区,利用该命令可以撤销这一步操作。

git checkout --<filename> 把工作区修改的内容还原为暂存区的版本,如果暂存区没有的话,就还原为版本区的版本。

git commit --amend  合并文件的提交次数。比如我之前提交了html.html 文件,忘记提交layout.css 文件了,我可以重新提交,git commit -m "commit again" --amend ,这样只保留第二次提交记录。

9、删除命令

git rm <filename> 删除暂存区的文件,该文件工作区不存在。比如:我在工作区右键点删除,删除了一个文件,该文件在暂存区仍存在,用该命令可以删除。

git rm -f <filename> 同时删除暂存区和工作区的文件。

git rm --cached <filename> 只删除暂存区的文件,工作区文件仍存在。

10、恢复命令

首先我们可以先运行一下git log,我们看到红框里有一串字符,我们称之为commitid。

git checkout <commitid>  <filename> 就可以恢复指定commitid版本下的文件了,这里的commitid可以不写全。

针对于版本还原:

git reset --hard <commitid>还原指定commitid 的版本。

git reset --hard HEAD^ 还原上一版本(HEAD是版本库中的指针,让指针回到上一版本)。

git reset--hard HEAD~2 让指针回跳2个版本。

如果会跳版本后,又想回到最新版本,我们可以 git reflog 查看新版本的commitid。

 11、多人协作开发

你千万不要以为commit到了版本库,就是commit到了GitHub的远程仓库,我们开始已经说过了,分布式管理所有版本都在你本地。即便你commit过了,刷新GitHub上的项目,依旧没有。那我们要把所有版本提交到远程仓库,以便多人协作开发,怎么做呢?

git remote 查看远程仓库的名字,我们这里是origin。

git remote -v 查看远程仓库的名字和地址。

git push <远程仓库的名字> <分支的名字> 如:git push origin master

当我们提交完以后刷新github 点击commits可以看到提交的版本。

如果要多人开发,我们需要给小伙伴儿开放权限,点击setting=》collaborators,添加小伙伴的名字即可。他会收到message。

转载于:https://www.cnblogs.com/caolidan/p/7669049.html

git 一口气带你走完git之旅相关推荐

  1. 兄弟姐妹们,我终于上岸了,喜获蚂蚁offer,定级p7,万字长文带你走完面试全过程

    前言 在今天,我收到了蚂蚁金服A级的实习录用offer. 从开始面试到拿到口头offer(四面技术+一面HR)战线大约拉了半个月, 从拿到口头offer到收到正式录用邮件大概又是半个月. 思前想后,决 ...

  2. 喜获蚂蚁offer,定级p7,面经分享,万字长文带你走完面试全过程

    前言 在今天,我收到了蚂蚁金服A级的实习录用offer. 从开始面试到拿到口头offer(四面技术+一面HR)战线大约拉了半个月, 从拿到口头offer到收到正式录用邮件大概又是半个月. 思前想后,决 ...

  3. 在拦截器里放入参数 controller_程序员云旅游:10分钟带你走完SpringMVC里一次HTTP请求处理之路...

    代码写累了?工作没激情?还不来一场说走就走的旅行! 今天就由本大佬(请原谅我使用了略微夸张的修辞手法)亲自带队,来为大家导游,带领大家探秘神奇的SpringMVC世界,重走一次HTTP请求处理之路,本 ...

  4. 3分钟带你走完“简历+内推+面试”三阶段

    前言:这十年前端发生了什么? 2009年,ES5标准发布,Nodejs发布,AngularJS诞生 2010年,Backbone.js诞生 2011年,React和ember诞生 2013年,Reac ...

  5. 一口气带你踩完五个 List 的大坑,真的是处处坑啊!

    来自:程序通事 List 可谓是我们经常使用的集合类之一,几乎所有业务代码都离不开 List.既然天天在用,那就没准就会踩中这几个 List 常见坑. 今天我们就来总结这些常见的坑在哪里,捞自己一手, ...

  6. 一口气带你踩完五个 List 的大坑!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 楼下小黑哥 来源 | 公众号「程序通事」 Li ...

  7. 一口气带你踩完五个 List 的大坑,处处坑!| 原力计划

    作者 | 楼下小黑哥 责编 | 伍杏玲 出品 | CSDN博客 List 可谓是我们经常使用的集合类之一,几乎所有业务代码都离不开 List.既然天天在用,那就没准就会踩中这几个 List 常见坑. ...

  8. 一个实战案例带你走完python数据分析全流程:豆瓣电影评论的关键词云图制作

    用python做数据处理流程大致可以分成以下三个部分: 一.数据的获取:一般可以有公开的数据集.网络爬虫.自己整理等方式. 二.数据的处理:包括数据的预处理.数据的查找/筛选/排序/统计等操作. 三. ...

  9. git钩子放服务器_linux服务器布置git 并带钩子

    最近在做自己的一个小项目的时候因为是三个人联合写代码而且代码还不想放在github上 所以我在自己的服务器上布置git 并带钩子 第一步安装git yum install git 安装完之后 执行  ...

最新文章

  1. 二次元控、视宠如命,95后占主力的女程序员原来这么飒
  2. WaitForSingleObject的用法
  3. 可爱的穆里尼奥,可爱的切尔西!
  4. Android之项目中调用已有.so库
  5. Mysql(三) Mysq慢查询日志
  6. python十条建议_十条建议帮你提高Python编程效率
  7. canal 监控数据库表 快速使用
  8. 16. Element contentEditable 属性
  9. Oracle DBA遇到频次最高的五十多个问题
  10. python判断成语是abac型_ABAC型成语大全
  11. android模拟拍照,Android调用系统相机拍照,并且模仿实现水印相机简单功能
  12. android6刷机教程,安卓手机刷机步骤
  13. Kruise Rollout:灵活可插拔的渐进式发布框架
  14. 手机屏幕材料区别 TFT和OLED
  15. mshflexgrid如何删除当前鼠标选择的行,并且一并删除行所对应的数据库中的记录
  16. UE4 4.26 Pixel Streaming 应用场景
  17. Android studio 可视化图表制作
  18. Rabbitmq- 消费者ack机制与发布者消息确认
  19. 哈希表解决冲突的两种方式
  20. python将房贷数据写进excel表格

热门文章

  1. UE4 使用VaRest的最佳实践
  2. [JSOI 2011]分特产
  3. mybatis02--增删改查
  4. 2018,10,19模拟赛
  5. vs2015通过ODBC连接SQLSERVER2012
  6. 全球唯一:MySQL社区2018年度公司贡献奖颁给阿里云
  7. Debug 之 VS2010网站生成成功,但是发布失败
  8. 20非常有用的Java程序片段(3)
  9. C语言学习笔记(4)
  10. 解放学校网络管理员的双手 ——陕西省基础教育专网×××接入程序的优化