开发人员的必备工具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 笔头很快,当即就写了一篇长文章,我则笔头很慢,今天才全部码好.他的文章 ...
随机推荐
- 利用javaScript实现鼠标在文字上悬浮时弹出悬浮层
在人人,CSDN等一些网站,当鼠标在某个东西上悬浮时,会弹出一个悬浮层,鼠标移开悬浮层消失.比如说CSDN的通知(应该是进入写新文章的页面后页面上方的那个铃铛),具体是什么实现的呢?上代码: < ...
- vue.js小总结
Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统; 指令带有前缀 v-,以表示它们是 Vue 提供的特殊特性; v-for 指令可以绑定数组的数据来渲染一个项目列 ...
- Protostuff序列化分析
前言最近项目中需要将业务对象直接序列化,然后存数据库:考虑到序列化.反序列化的时间以及生产文件的大小觉得Protobuf是一个很好的选择,但是Protobuf有的问题就是需要有一个.proto的描述文 ...
- BZOJ_4867_[Ynoi2017]舌尖上的由乃_分块+dfs序
BZOJ_4867_[Ynoi2017]舌尖上的由乃_分块+dfs序 Description 由乃为了吃到最传统最纯净的美食,决定亲自开垦一片菜园.现有一片空地,由乃已经规划n个地点准备种上蔬菜.最新 ...
- C# 利用VS自带的WSDL工具生成WebService服务类
C# 利用VS自带的WSDL工具生成WebService服务类 WebService有两种使用方式,一种是直接通过添加服务引用,另一种则是通过WSDL生成. 添加服务引用大家基本都用过,这里就不讲 ...
- js面试题1
1.介绍js的基本数据类型 Undefined.Null.Boolean.Number.String 2.js有哪些内置对象? 数据封装类对象:Object.Array.Boolean.Number ...
- Android 7.0 存储系统—Vold与MountService分析(三)(转 Android 9.0 分析)
Android的存储系统(三) 回顾:前帖分析了Vold的main()函数和NetlinkManager的函数调用流程,截止到NetlinkHandler的创建和start()调用,本帖继续分析源码 ...
- #Java学习之路——基础阶段二(第九篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- 从壹开始前后端分离[.NetCore ] 38 ║自动初始化数据库(不定期更新)
缘起 哈喽大家好呀,我们又见面啦,这里先祝大家圣诞节快乐哟,昨天的红包不知道有没有小伙伴抢到呢.今天的这篇内容灰常简单,只是对我们的系统的数据库进行CodeFirst,然后就是数据处理,因为这几个月来 ...
- 频率学派与贝叶斯学派(先验分布与后验分布,MLE和MAP)
频率学派(古典学派)和贝叶斯学派是数理统计领域的两大流派. 这两大流派对世界的认知有本质的不同:频率学派认为世界是确定的,有一个本体,这个本体的真值是不变的,我们的目标就是要找到这个真值或真值所在的范 ...