git 是什么

最强大的分布式版本控制系统,没有之一

版本控制: 完成一项任务,最终的成果可能是经过中间修修修改n次得到的,在这n个版本之间的切换就叫版本控制。

集中式的版本控制svn,cvs缺点: 需要联网,还很慢

git 主要特点:

(1)直接记录快照,而不是记录差异

(2)几乎所有的操作都是本地完成,除了与远程仓库之间的互动需要联网,其他无需网络,而且git记录了之前做的所有操作,想看一个月之前的,无需将旧版本拉下来,git已经记录下来了

(3)git 保证完整性,git数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名,属于你的任何操作,git都很清楚

github:一个网站,https://github.com/ 基于git的代码托管仓库,某种程度上就是一种代码网盘,上面放着各种开源的代码(也有私有的仓库)

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

git的安装

centos系统

yum install -y git

git初始化

mkdir git  # 创建用于git管理的文件夹 git
cd git # 进入该文件夹
git init # 将该文件夹变成一个本地可以管理的仓库,该文件夹下多一个.git的文件夹 用来管理版本库

配置git

git config --global user.name "   "
git config --global user.email " "

git 工作流程

  1. 修改,添加工作区的目录,文件
  2. 将修改文件的提交到缓存区
  3. 提交缓存区的文件到仓库

git 基本操作

#查看修改的文件
git diff 文件名
git diff id id 查看两次修改的差别 #查看工作状态
git status # 将修改的提交到缓存区
git add 文件名,这个步骤代表文件变成已跟踪状态 # 提交到仓库
git commit -m “add message” # 查看日志
git logs
git log --pretty=oneline(精简显示)  --graph  --abbrev-commit

git 分支

# 建立分支
git checkout -b mygit # 根据远程的分支建立自己的的分支
git checkout -b mygit origin/develop # 远程分支更新
git checkout develop 切换到develop分支
git fetch 拉取远程分支
get merge 将远程分支合并到本地develop 分支 # 更新自己的分支
git checkout -B mygit origin/develop #合并分支
git merge 分支名 合并“分支名”到当前分支 #删除分支
git branch -d 分支名 删除本地分支
git push origin --delete 远程分支名 删除远程分支

git 远程仓库

#直接clone 就可以得到远程github分支
git clone url #添加远程仓库
git remote add origin git@github:地址 #显示远程信息
git remote 远程分支的名(origin)
git remote -v 远程仓库地址 # 推行到远程
git push origin -u mygit (第一次推 需要-u 远程会建立一个跟本地一样的mygit 分支,两者自动关联)

git 退回 撤销操作

git 较难理解的指令

git rebase

git checkout

git(程序员的时光机)的更多相关文章

  1. Git 程序员篇

    关于 Git Git 背后的故事 伟大的作品总是诞生于伟大的时代,正如 Git 同样诞生于一个英雄辈出.极富纷争的年代. 2005 年,Linux 内核开发社区正面临严峻的挑战:他们不能继续使用 Bi ...

  2. Git / 程序员需要知道的12个Git高级命令

    众所周知,Git目前已经是分布式版本控制领域的翘楚,围绕着Git形成了完整的生态圈.学习Git,首先当然是学习Git的基本工作流.相比于SVN等传统版本控制系统来说,Git是专为分布式版本控制而生的强 ...

  3. <初级程序员> git 的初级使用

    作为程序员,Git 是一个很好的代码管理工具.Git 是一个版本控制系统,主要的作用就是记录代码的修改过程,有效的追踪文件的变化.当代码出现错误的时候可以很容易的恢复到之前的状态,不管对于个人开发还是 ...

  4. 不会git的程序员,会不会被鄙视?

    昨天一朋友在微信上问了我一个问题,我觉得很有趣,于是将本次聊天的内容分享给大家. 我朋友说,如果一个程序员不会使用 git,会不会被别人觉得低一个档次? 事先声明啊,这与公司技术栈无关,不要说有些公司 ...

  5. 程序员Git代码托管平台

    程序员Git代码托管平台 说到Git代码托管平台,首先推荐的是GitHub,好多好的开源项目都来自GitHub,但是GitHub只能新建公开的Git仓库,私有 仓库要收费,如果你做的是一个开源项目,可 ...

  6. [Git] git shortlog 找出最懒的程序员

    转载:http://blog.csdn.net/qinjienj/article/details/7795802 场景假设:一个开发小组有10个程序员,他们用 Git 做版本控制,某一天程序员A pu ...

  7. 程序员必备基础:Git 命令全方位学习

    前言 掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了这篇博文,复习一下~ https: ...

  8. Git学习总结(6)——作为一名程序员这些代码托管工具你都知道吗?

    作为一名程序员这些代码托管工具你都知道吗? 作为一名优秀的开发者,大家都会用到代码托管,我本人用的是github,确实github里面有很多很多开源的项目,所以我们目前的创业项目程序员客栈www.pr ...

  9. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

随机推荐

  1. 下载Mybatis源码

    百度搜索关键字:Mybatis 点击第二个选项,为啥不是第一个?因为卡. 打开之后,长这个样子: 点击画红圈的位置,进入github源码库: 发现,进入的太深了.点击mybatis-3,进到外层目录, ...

  2. python3爬虫--shell命令的使用和firefox firebug获取目标信息的xpath

    scrapy version -v #该命令用于查看scrapy安装的相关组件和版本 一个工程下可创建多个爬虫 scrapy genspider rxmetal rxmetal.com scrapy ...

  3. HDU-3746-Cyclic nacklace(KMP, 循环节)

    链接: https://vjudge.net/problem/HDU-3746 题意: 第一题来啦. 现在给你一个字符串,请问在该字符串末尾最少添加多少个字符,可以让这个字符串获得重复循环序列. 思路 ...

  4. freemarker 生成word

    一.生成模板,动态获取的部分用${变量名},然后将word另存为xml文件,再将后缀名改成ftl格式.然后将模板放在对应的目录下. 二.引入freemarker包,mawen引用 <depend ...

  5. java——ThreadLocal、ThreadLocalMap、Thread三者的关系

    https://www.jianshu.com/p/377bb840802f Thread类中维护了一个成员变量:ThreadLocalMap 每个Thread有一个自己的ThreadLocalMap ...

  6. typescript 创建二维数组

    private mouseView: Mouse private mouseArray: Array<Array<any>> = new Array<Array<a ...

  7. cogs908. 校园网

    908. 校园网 ★★   输入文件:schlnet.in   输出文件:schlnet.out   简单对比时间限制:1 s   内存限制:128 MB USACO/schlnet(译 by Fel ...

  8. TensorFlow使用记录 (九): 模型保存与恢复

    模型文件 tensorflow 训练保存的模型注意包含两个部分:网络结构和参数值. .meta .meta 文件以 “protocol buffer”格式保存了整个模型的结构图,模型上定义的操作等信息 ...

  9. apache httpd.conf 文件的 详解

    文章 摘自 :http://www.php100.com/html/webkaifa/apache/2009/0418/1192.html   ServerRoot /usr/local Server ...

  10. CodeForces 137A

    Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description Polyca ...