Git是什么

Git是目前世界上最先进的分布式版本控制系统。

这个软件用起来就应该像这个样子,能记录每次文件的改动:

举个栗子 :       版本 用户 说明 日期

1 张三 删除了软件服务条款5 7/12 10:38
2 张三 增加了License人数限制 7/12 18:09
3 李四 财务部门调整了合同金额 7/13 9:51
4 张三 延长了免费升级周期 7/14 15:17

这样,你就结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪。

Git的安装

去官网(https://git-scm.com/downloads)下载安装就行了,

里安装完什么都不用配置,直接可以使用,

mac用户可以不用安装,因为系统自带,如果嫌版本老,可以卸掉安装新版本

Git的使用

安装完成以后,你可以右键会多出

这里我们先不用GIT GUI,先学git的指令,因为GUI也是调用指令来工作的,学会了指令,GUI的图形化操作也就会了。

首先,我们在桌面创建一个demo文件夹,进入demo,右键,选择Git Bash Here,会出现

这就是git bash界面,可以输入git指令的界面(mac用户进入终端)

输入git --version 查看安装的git版本

在介绍git之前我们来看一张git的结构图

这张图就是git的原理图

工作区间:你的代码是写在工作区间的,是我们直接编辑的地方,如idea打开的项目,notepad++打开的文件

暂存区(缓存区):暂时存储你的代码的地方

本地仓库:存放已经提交的数据

远程仓库:存放提交的数据的公共仓库,如github,公司的gitla

接下来,我们就结合这个图演示git指令,首先还是刚才的那个bash窗口:

git init

创建一个仓库,你会看到demo中多个一个隐藏文件夹.git,这个时候就是把demo文件夹变成一个git的本地仓库了,这里面所有的文件都会被git管理,我们添加一个test1.txt文件

git status

查看仓库的修改情况

你会看见我们添加的文件是红色的,这个时候文件是在工作区间的

(untracked files:表示这个文件是新加的)

git add test1.txt

把文件test1.txt添加到暂存区

(一般使用git add . 表示添加当前文件夹下的所有修改都添加到暂存区)

git status

会看见添加到暂存区的文件都是绿色的

git commit -m '注释'

把暂存区的代码提交到本地仓库,提交只能提交暂存区的代码,工作区间的代码是不会被提交的,提交时必须添加注释,这是git强制要求的,防止你提交的多了,不知道每次提交的修改是什么,引号里面写注释

git status

这个时候就没有了

git push origin master

把本地仓库的提交代码推到远程仓库,origin master表示远程的master分支,这个时候你会发现报错了,

因为我们的本地仓库是刚刚新建的,并没有绑定任何远程仓库,所以git不知道往哪推,

那么我们要把本地仓库和远程仓库绑定

首先得有一个远程仓库才行,以github为例,创建一个远程仓库

这个时候远程仓库就创建好了

git remote add origin https://github.com/**********/demo.git

把本地仓库和远程仓库绑定,这里的地址写你自己的

这个时候会让你输入你的github的用户名和密码

然后自动会在远程创建一个master分支,上面的报错是网络导致的,请忽略

这时查看远程就会有test1.txt这个文件了

开发人员的必备工具Git(初级)的更多相关文章

  1. fir.im Weekly - 17 个提升 iOS 开发效率的必备工具

    本期 fir.im Weekly 精选了一些iOS 开发工具和动画源码分享,希望每个开发者能专注效率.实用.灵感.  iOS开发工具--如何优化ipa包大小 @iOS程序犭袁 推荐了关于"如 ...

  2. Android开发之常用必备工具类图片bitmap转成字符串string与String字符串转换为bitmap图片格式

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  3. C++ //继承中的对象模型 //利用开发人员命令提示工具查看对象模型 //父类中所有非静态成员属性都会被 子类继承下去 //父类中私有成员属性 是被编译器给隐藏了 因此是访问不到 但是确实被继承下去了

    1 //继承方式 2 //语法:class 子类 :继承方式 父类 3 //继承方式 三种: 4 //1.公共继承 5 //2.保护继承 6 //3.私有继承 7 8 /* 9 #include &l ...

  4. 如何用vs2013开发人员命令提示工具执行一个方法(一个简单的demo)

    在任何一个编辑器中编写一个静态的Main方法,必须是静态且名为Main的方法,并将Main方法所在的类文件命名为yang.cs(这个名字随便命名),如图-1. 图-1 打开你的vs2013开发人员命令 ...

  5. Android开发和调试必备工具-SDK Tools

    原文链接:http://android.eoe.cn/topic/android_sdk SDK Tools是Android SDK的一个可下载部分,它包括Android SDK的开发和调试的所有工具 ...

  6. 【Java】JAVA开发人员常见环境工具安装

    1.安装配置JDK1.7:jdk-7u45-windows-x64.exe,环境变量配置:JAVA_HOME---[F:\1024\jdk1.7],CLASSPATH---[.;%JAVA_HOME% ...

  7. 每个Java开发人员都应该知道的10个基本工具

    大家好,我们已经在2019年的第9个月,我相信你们所有人已经在2019年学到了什么,以及如何实现这些目标.我一直在写一系列文章,为你提供一些关于你可以学习和改进的想法,以便在2019年成为一个更好的. ...

  8. 怎样才能提交一个让开发人员拍手叫好的bug单

    怎样才能提交一个让开发人员拍手叫好的bug单 软件测试人员写得最多的文档就是测试用例和BUG,现在测试用例和BUG都没有标准的模板,每个公司使用的缺陷管理工具都有可能不一样,如果你换了一家公司就有可能 ...

  9. [荐][转]为何应该使用 MacOS X(论GUI环境下开发人员对软件的配置与重用)

    一周前我和 Tinyfool 闲聊苹果操作系统,都认为对于开发人员来说,苹果操作系统(MacOS)是上佳的选择.Tinyfool 笔头很快,当即就写了一篇长文章,我则笔头很慢,今天才全部码好.他的文章 ...

随机推荐

  1. 基于.net core实现项目自动编译、并生成nuget包

    近期想对自己的项目增加自动编译并生成nuget包,网上资料不少.但总还有迷糊的时候.首先:此解决方案包含多种版本的项目,如:有编译必须是x86平台,以及还有传统的.net foramework项目,以 ...

  2. golang 并发模式笔记

    1.并发并不是并行,前者是优先对时间片的抢占,后者是真多核. go中多线程时直接要求并行的方法是: 亦不可滥用,CPU密集型,并发度很高的场景适用. 2.go起的协程 3. function that ...

  3. bzoj 2002 弹飞绵羊 分块

    正解lct,然而本蒟蒻并不会.... 分块思路很清晰,处理出每个点弹出所在块所需要的步数及出去后的第一个位置 #include<cstdio> #include<cstring> ...

  4. BZOJ_1076_[SCOI2008]奖励关_状压DP

    BZOJ_1076_[SCOI2008]奖励关_状压DP 题意: 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物, 每次你都可以选择吃或者不吃(必须在抛 ...

  5. HTTP VISUAL HTTP请求可视化工具、HTTP快照工具(公测)

    先啰嗦几句,最近工作比较忙,再加上自己又开设了一个小站(简单点),没时间写博客,都快憋坏了,趁着周末有时间,抓紧来一篇~ HTTP VISUAL是一款HTTP可视化工具,它可以记录HTTP请求,包括请 ...

  6. Windows上安装配置SSH教程(3)——在Windows系统上安装与配置WinSCP

    知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html -------------------- 首先确认客户端已经安装了OpenSSH.安装方 ...

  7. TensorFlow之DNN(一):构建“裸机版”全连接神经网络

    博客断更了一周,干啥去了?想做个聊天机器人出来,去看教程了,然后大受打击,哭着回来补TensorFlow和自然语言处理的基础了.本来如意算盘打得挺响,作为一个初学者,直接看项目(不是指MINIST手写 ...

  8. 兄弟俩畅游Tomcat城市的SpringMVC科技园区

    Tomcat城市 Tomcat这座城市的历史相当悠久了,经历过几次大的变迁后,呈现出非常明显的地域特征. 从城市往西走,过了城乡结合部以后,可以说是满目疮痍.一片破败,这就是Servlet地区,这座城 ...

  9. python --- 快速排序算法

    在快速排序中引入递归和分治的概念(关于递归和分治的概念会单独写一篇来进行介绍) 问的解决思路: 快速排序的基本思想本身就是分治法,通过分割,将无序序列分成两部分,其中前一部分的元素值都要小于后一部分的 ...

  10. ASP.NET Core 实战:基于 Jwt Token 的权限控制全揭露

    一.前言 在涉及到后端项目的开发中,如何实现对于用户权限的管控是需要我们首先考虑的,在实际开发过程中,我们可能会运用一些已经成熟的解决方案帮助我们实现这一功能,而在 Grapefruit.VuCore ...