Git

一、 目标

(一) Git的操作

二、 Git和SVN的区别

(一) SVN优缺点
1. 优点:

(1) 管理方便,逻辑明确

(2) 易于管理,集中式服务器更能保证安全性

(3) 代码一致性非常高

(4) 适合开发人数不多的项目开发

2. 缺点:

(1) 服务器压力太大,数据库容量暴增

(2) 如果不能连接到服务器上,基本上不可以工作,如果服务器不能连接上,就不能提交,还原,对比等等

(3) 不适合开源开发

(二) Git优缺点
1. 优点:

(1) 适合分布式开发,强调个体

(2) 公共服务器压力和数据量都不会太大

(3) 速度快,灵活

(4) 任意两个开发者之间可以很容易的解决冲突

(5) 离线工作

2. 缺点:

(1) 学习周期相对而言比较长

(2) 代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息

三、 Git Bash使用(命令行)

四、 Git的命令行使用

五、 Git 本地操作(add commit status –reset hard refglog)实际操作

六、 注册gitHub账号

七、 从gitHub或码云上下载项目

(一) 切换到存放git版本库的地方
(二) Git clone url(github上的地址)

八、 设置全局用户名(提交代码的时候就会将用户名和邮箱存入版本库中,其他开发人员就可以看到是谁提交的代码)

(一) git config --global user.name github上的用户名

九、 设置全局的邮箱

(一) git config --global user.email 邮箱

十、 查看全局邮箱

(一) git config --global user.email

十一、 查看所有配置信息

(一) git config --list

十二、 master:主分支

十三、 git的三个区

(一) workspace工作区(当前编辑的代码区):新添加的,和修改的未add操作的。
(二) stage暂存区(作为过渡层、避免误操作、保护工作区和版本区、分支处理):add操作过后,会进入暂存区
(三) repository版本库(版本控制,本地仓库):commit操作后,会进入本地仓库
(四) remote(远程仓库):push操作后,会提交到远程仓库

十四、 Git命令

git分区原理

(一) Git status (查看工作区)
(二) Git add 文件名1 文件名2 …… (将一个或多个文件添加到暂存区)
1. Git add . (将所有工作区的中修改的和新添加的内容加入暂存区)
2. 或者: git add –A (将所有工作区的中修改的和新添加的内容加入暂存区)
3. Git add 目录名 (将指定目录加入暂存区)
(三) Git commit –m “注释内容” (将所有文件从暂存区存入版本区)
(四) Git commit 文件1 文件2 –m “注释内容” (提交暂存区的指定文件)
(五) git commit -a -m "注释" (直接从工作区存入暂存区再存入版本区,-a:存入暂存区,-m:存入版本区)
(六) git log (查看日志) : 如果版本太多,一次显示不全,想要退出此状态,请按q
(七) 对比
  1. Git diff (工作区与暂存区的差异对比)
  2. Git diff --cached(--staged) (暂存区也版本库的差异对比)
  3. Git diff master (工作区与版本库的差异对比)

    (八) 撤销
  4. Git reset HEAD <file.name> (从暂存区撤销回工作区,发现提交错了,退回一步)
  5. Git reset HEAD (撤销上一次add提交的所有文件)
  6. Git checkout -- <file.name> (从工作区撤销回上一次提交的版本区)
  7. Git commit --amend (撤销上一次的提交命令,重新提交新的代码)

    (九) 删除
  8. Git rm <file.name> (如果工作区删除了一个文件,通过此命令可以把暂存区的文件删除)
  9. Git rm -f <file.name> (如果删除暂存区的文件,那么工作区和暂存区的文件都会删除)
  10. Git rm --cached <file.name> (只删除暂存区的文件,工作区的文件保留)

    (十) 恢复
  11. Git checkout (commit id) (还原删除的文件)
  12. Git reset -- hard (commit id) (还原版本)

(1) HEAD^ (返回上一个版本)

(2) HEAD~ (返回上几个版本)

  1. Git reflog (操作记录,可以回到当前版本)

    (十一) 同步到远程仓库
  2. Git remote (查看远程仓库的名字)

(1) –v (查看远程地址)

(2) Origin (远程仓库的名字)

  1. Git push origin master (推送到远程仓库)
  2. git push -u origin master -f (强制push到远程仓库)

    (十二) 多人协作解决冲突
  3. Git fetch (从远程获取但不与当前代码合并)

(1) Git diff master origin/master (查看两个冲突文件的异同)

(2) Git merge origin/master (合并)

  1. Git pull(从远程获取并与当前代码合并)

git项目使用

30、git 使用的更多相关文章

  1. Git基础知识与常用命令

    一:相关概念: 1:工作区(Working Directory): 就是你在电脑里能看到的目录 2:版本库(Repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. ...

  2. Git入门仅这篇就够了

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/5978937.html 前言 大家好,我是Cavalier ...

  3. git相关

    进入到想要用git管理的project目录下 1.git init 意即该目录会被git监视一切的变动 同时生成一个.git文件夹下面存放了管理该project的一切必要信息 2.git add &l ...

  4. GIT学习(二)

    学习地址: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 常用git命令: 1. ...

  5. git/github常用指令、入门

    git的基本常用指令: 1.cd:切换路径 2.mkdir:进入文件夹目录 3.pwd:显示当前目录的路径 4.git init:把当前的目录变成可以管理的git仓库,生成隐藏.git文件 5.git ...

  6. 【重要】使用Git命令行上传到GitHub上

    [本人GitHub账号:] 用户名:chenhongshuang 密码:shuangshuang6300 邮箱:2452420371@qq.com 进入GitHub账号后 1·新建项目文件名称例dem ...

  7. GIT如何使用:大杀器!所有常用指令整理

    1 pwd 显示当前目录2 mkdir 创建目录 cd 进入文件3 git init 变成Git可以管理的仓库(千万不要修改目录下的.git隐藏文件夹)4 ls -ah 可以把.git文件显示出来5 ...

  8. 开源分布式版本控制工具 —— Git 之旅

    Git 主张的分布式代码库与文件快照的设计思想,相对于传统 CVS.SVN 等集中式.文件差异式版本控制工具是一种挑战与颠覆.Git 带来了离线提交.轻量级分支等诸多便利.不过,也有人质疑 Git 的 ...

  9. git记录

    2017-3-30:git常用命令:1.$ git init:初始化git仓库2.$ git add *.c:跟踪文件3.$ git commit -m 'initial project versio ...

  10. git常用命令总结——覆盖日常开发全操作

    前言:Git是目前世界上最先进的分布式版本控制系统,对的,最先进! 1. 版本库,又名仓库,repository 可理解成一个目录,目录里的所有文件都可被Git管理,Git可以跟踪每个文件的修改.删除 ...

随机推荐

  1. OKDownload 下载框架 断点续传 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. Spark2.3(四十二):Spark Streaming和Spark Structured Streaming更新broadcast总结(二)

    本次此时是在SPARK2,3 structured streaming下测试,不过这种方案,在spark2.2 structured streaming下应该也可行(请自行测试).以下是我测试结果: ...

  3. iOS CALayer 绘图模糊有锯齿的解决方案

    在CALayer中绘制图形会出现锯齿和模糊,同样绘图在UIView中就没有问题.经查资料发现不自动处理两倍像素的情况. 解决方案为:设置layer的contentsScale属性为[[UIScreen ...

  4. UltraVNC 简体中文版 1.2.2.1

    1.专门针对WinXP进行编译,同时适用XP之后的Windows版本(XP/Vista/8.1/10/2003/2008/2012): 2.配置低的计算机,Win8.1之前的系统,需要安装Mirror ...

  5. 远程调试Android手机上网页的记录

    1.手机需要开启USB调试模式: 2.电脑和手机上都要安装最新的Chrome浏览器: 3.手机连接电脑,会出现下载安装驱动的提示并安装成功(并不是所有的手机都会这么顺利,比如我的魅族就无法安装驱动,公 ...

  6. cx_oracle访问处理oracle中文乱码问题

    cx_oracle访问处理oracle中文乱码问题 问题描述 使用docker打包了centos镜像,编码为gbk,随后访问oracle出现了很多乱码.其原因自然是因为编码不一致,服务器为zhs16g ...

  7. Python中的三元运算符

    Python中的三元运算符 对于如下需求: if var1>1 : goal = "执行表达式1" else: goal = "执行表达式2" 1.在其他 ...

  8. 匿名函数gc分析

    测试一:使用member function创建action会产生gc,不管该函数是否访问外部变量: private System.Action memberAct = null; // gc 112B ...

  9. PCL点云分割(3)

    (1)Euclidean分割 欧几里德分割法是最简单的.检查两点之间的距离.如果小于阈值,则两者被认为属于同一簇.它的工作原理就像一个洪水填充算法:在点云中的一个点被“标记”则表示为选择在一个的集群中 ...

  10. SAP Brazil J1BTAX 为税收例外创建税收组(翻译)

    很多人对如何维持巴西的税收仍有疑问.前段时间,一家有几个税务问题的公司联系我帮助他们,我发现多年来,由于他们的税务计算系统缺少配置,他们正在进行手动调整. 维持税收的第一条规则是: TAXBRJ = ...