开发人员的必备工具Git(初级)
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(初级)的更多相关文章
- fir.im Weekly - 17 个提升 iOS 开发效率的必备工具
本期 fir.im Weekly 精选了一些iOS 开发工具和动画源码分享,希望每个开发者能专注效率.实用.灵感. iOS开发工具--如何优化ipa包大小 @iOS程序犭袁 推荐了关于"如 ...
- Android开发之常用必备工具类图片bitmap转成字符串string与String字符串转换为bitmap图片格式
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- C++ //继承中的对象模型 //利用开发人员命令提示工具查看对象模型 //父类中所有非静态成员属性都会被 子类继承下去 //父类中私有成员属性 是被编译器给隐藏了 因此是访问不到 但是确实被继承下去了
1 //继承方式 2 //语法:class 子类 :继承方式 父类 3 //继承方式 三种: 4 //1.公共继承 5 //2.保护继承 6 //3.私有继承 7 8 /* 9 #include &l ...
- 如何用vs2013开发人员命令提示工具执行一个方法(一个简单的demo)
在任何一个编辑器中编写一个静态的Main方法,必须是静态且名为Main的方法,并将Main方法所在的类文件命名为yang.cs(这个名字随便命名),如图-1. 图-1 打开你的vs2013开发人员命令 ...
- Android开发和调试必备工具-SDK Tools
原文链接:http://android.eoe.cn/topic/android_sdk SDK Tools是Android SDK的一个可下载部分,它包括Android SDK的开发和调试的所有工具 ...
- 【Java】JAVA开发人员常见环境工具安装
1.安装配置JDK1.7:jdk-7u45-windows-x64.exe,环境变量配置:JAVA_HOME---[F:\1024\jdk1.7],CLASSPATH---[.;%JAVA_HOME% ...
- 每个Java开发人员都应该知道的10个基本工具
大家好,我们已经在2019年的第9个月,我相信你们所有人已经在2019年学到了什么,以及如何实现这些目标.我一直在写一系列文章,为你提供一些关于你可以学习和改进的想法,以便在2019年成为一个更好的. ...
- 怎样才能提交一个让开发人员拍手叫好的bug单
怎样才能提交一个让开发人员拍手叫好的bug单 软件测试人员写得最多的文档就是测试用例和BUG,现在测试用例和BUG都没有标准的模板,每个公司使用的缺陷管理工具都有可能不一样,如果你换了一家公司就有可能 ...
- [荐][转]为何应该使用 MacOS X(论GUI环境下开发人员对软件的配置与重用)
一周前我和 Tinyfool 闲聊苹果操作系统,都认为对于开发人员来说,苹果操作系统(MacOS)是上佳的选择.Tinyfool 笔头很快,当即就写了一篇长文章,我则笔头很慢,今天才全部码好.他的文章 ...
随机推荐
- setInterval setTimeout 详解
JavaScript的setTimeout与setInterval是两个很容易欺骗别人感情的方法,因为我们开始常常以为调用了就会按既定的方式执行, 我想不少人都深有同感, 例如 setTimeout( ...
- javascript 中的apply()和call()方法详解
1.语法 先来看看JS手册中对call的解释: call 方法 调用一个对象的一个方法,以另一个对象替换当前对象. call([thisObj[,arg1[, arg2[, [,.argN]]]]]) ...
- 如何编写高质量JavaScript代码
书写可维护的代码(Writing Maintainable Code ) 软件bug的修复是昂贵的,并且随着时间的推移,这些bug的成本也会增加,尤其当这些bug潜伏并慢慢出现在已经发布的软件中时.当 ...
- 由一条sql语句想到的子查询优化
摘要:相信大家都使用过子查询,因为使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的SQL操作,比较灵活,我也喜欢用,可最近因为一条包含子查询的select count(*)语句导致点开管理系 ...
- config.go
package blog4go import ( "encoding/xml" "errors" "io/ioutil" "os& ...
- ConnectionString 属性尚未初始化
关于"ConnectionString 属性尚未初始化"的问题(如下图), 我在下面一段代码中发现了问题所在: public bool ReturnFlag(stri ...
- BZOJ_1485_[HNOI2009]有趣的数列_卡特兰数
BZOJ_1485_[HNOI2009]有趣的数列_卡特兰数 Description 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ ...
- 二逼平衡树 Tyvj 1730 BZOJ3196 Loj#106
树状数组+主席树,模板题,不多说... #include <cstdio> #include <algorithm> #include <cmath> #inclu ...
- WebGL学习之纹理贴图
为了使图形能获得接近于真实物体的材质效果,一般会使用贴图,贴图类型主要包括两种:漫反射贴图和镜面高光贴图.其中漫反射贴图可以同时实现漫反射光和环境光的效果. 实际效果请看demo:纹理贴图 2D纹理 ...
- [asp.net mvc 奇淫巧技] 06 - 也许你的项目同一个用户的请求都是同步的
一.感慨 很久前看到一篇博客中有句话大致的意思是:“asp.net 程序性能低下的主要原因是开发人员技术参差不齐”,当时看到这句话不以为然,然而时间过的越久接触的.net 开发人员越多就越认同这句话: ...