Git的初步学习

前言
感谢! 承蒙关照~
Git的初步学习
为什么要用Git和Github呢?它们的出现是为了用于提交项目和存储项目的,是一种很方便的项目管理软件和网址地址.

接下来看看,一家公司的基本流程图:

集中式->分布式->托管网站
之前项目管理的日子:

项目开发,版本控制系统.
-v1.0
-> 文件
-v1.1
-> 文件
本地版本控制系统

慢慢地有了项目管理系统加入,集中式的控制系统:
集中化的版本控制系统
(Centralized Version Control Systems,简称 CVCS)


分布式版本控制系统
Distributed Version Control System,简称 DVCS


Git的特点:

Git的功能:

Git简介:
Git是一个伟大的创新,到 2002 年,项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
版本控制系统,就是一个名词而已吧,Git 是为了方便人们而发明的,当我们每次写完代码时,提交到 Github 上时,我们会记录下提交说明,简述该代码写了什么内容,做了哪些更改,能够方便记录,在 Github 上回记录你代码的增删情况,就可以了解你每次做了什么,改过什么,很方便也对他人了解你的操作行为。
当你进行结对操作项目时,你的伙伴能通过了解提交说明了解你的行为操作。
Git的三种状态,为已提交(committed)、已修改(modified)和已暂存(staged)
已经提交表示数据已经安全的保存在本地数据库中,已经修改表示修改了文件,但是没有保存到数据库中,要进行提交,已暂存表示对一个修改的文件进行标记,然后提交时,包含在其中.
我们先下载Git,安装Git。
Git下载网站为:
https://git-scm.com/downloads
Git官方文档地址:
https://git-scm.com/book/zh/v2
https://git-scm.com/download/mac
https://git-scm.com/download/win
在 Windows 上安装

$ tar -zxf git-2.0.0.tar.gz
$ cd git-2.0.0
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info
使用Git来升级:
$ git clone git://git.kernel.org/pub/scm/git/git.git
建议使用这个网址安装:
http://git-scm.com/download/win
我们在用Git的时候,有三个工作区域的概念:
Git仓库- 工作目录
- 暂存区域
Git仓库是用来保存项目文件的地方,工作目录是对项目的某个版本独立提取出来的内容,暂存区域是一个文件,保存了下次将要提交的文件信息.


小图标:

设置账号:
如何设置账号,首先你要去 github 网站上进行注册,拥有自己的账号先:
打开你下载好的 GIT,“Git Bash” 软件
$ git config --global user.name "your_name"
$ git config --global user.name "your_email@example.com"
做好配置user.name和user.email.
Git获取帮助
获取Git命令手册:
$ git help <verb>
$ git <verb> --help
$ man git-<verb>
获取config命令手册:
$ git help config
git config 的工具来帮助设置控制 Git 外观和行为的配置变量:
/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置
~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户
.git/config:针对该仓库
创建版本库
右键鼠标点击Git Bash
$ git init url
然后添加文件,使用命令git add <file>,接着使用git commit -m "信息介绍",就大功告成了!
查看配置
可以使用 git config --list
// 显示配置
// 列出所有 Git 当时能找到的配置
git config --list [--local | --global | --system]
local:区域本仓库
global: 当前用户的所有仓库
system: 本系统的所有用户
git config --local 只对某个仓库有效
git config --global 对所有用户的仓库有效
git config --system 对系统所有登录的用户有效
git config --list --global
git config --list --system
git config --list --local
// git config
--get
--get-all
--get-regexp
--get-urlmatch
--replace-all
--add
--unset
--unset-all
--rename-section
--remove-section
--list or --l
--edit or --e
--get-color
--get-colorbool
一些 Git 操作
创建版本库:
mkdir repository
cd repository
通过使用 Git bash git init 命令把该目录变成 Git 可以管理的仓库,就是可以放代码的目录了,好像粮仓一样,很爽!!!
git add text
git commit -m "imformation"
git status 查看仓库状态(告诉你有文件被修改过)
git diff 查看修改过的内容
git status 提交后查看状态
// 版本和命令历史
git log 查看提交历史
git reflog 查看命令历史
// 删除文件
$ git rm <file>
$ git commit -m "信息"
// 误删
$ git checkout -- <file> 返回原文件
// 撤消操作-漏掉了几个文件没有添加,或者提交信息写错了-将暂存区中的文件提交
$ git commit --amend
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
// 打标签
$ git tag
v0.1
v1.3
创建Git仓库
$ cd 项目代码所在目录下的文件夹
$ git init
手把手教你如何把项目或代码提交到Github托管
从远程库克隆, 启动 Git Bash 命令行
首先打开你的github,点击新建项目,点击new repositories ,然后直接给项目命名就好了.
克隆仓库的命令格式是
git clone [url]
$git clone git@.....git
打开命令行,输入下方:
复制地址就是:https://github.com/…./Test.git
点击这里复制链接即可:

// 输入
// 目录下初始化一个 .git 文件夹
$ git clone https://github.com/…
$ cd test
前提下你得把你的项目复制放进test路径下。
$ git add .
$ git commit -m “changes log”
$ git push origin master
注意如果每次修改完成后,如果没有使用add添加的命令,那么修改的代码会在暂存区中,而直接使用commit的话,是不会看到修改后的代码所在的.
总结:
mkdir 为建立文件夹
mkdir images 文件夹名为images
工作目录
->暂存区->版本历史
git add files 为从工作目录中修改的代码放入暂存区
git commit 为从暂存区中修改的代码提交,变为版本历史
li -al 遍历文件
git add -u 修改的文件一起提交
git reset --hard 清除暂存区和工作区
// 重命名文件
git mv index index.md
git status
$ git status 先查看
$ git add index.html images 添加暂存区文件,可以多个文件名
$ git status 查看是否提交
说明

如何看版本历史
git log // 按提交时间列出所有的更新
// 使用不同于默认格式的方式展示提交历史
$ git log --pretty=oneline
git log --online // 非常简洁,有什么历史
// 简略的统计信息
$ git log --stat
// -2 仅显示最近两次提交
$ git log -p -2
git log -n4 --online 看最近的历史消息
git branch -v 看本地有多少分支
git checkout -b dashu 223343232 // 分支 , 修改分支
// ls -al
// git commit -am'test'
bit branch -av
git log --oneline --all // 分支所有呈现
图形界面工具
gitk
输入:

gitk
都可以进行了解学习


查看
.git目录
ls -al // 列出列表
.git
cd .git
ls -al
cat .git // 查看文件
commit每次的变更,tree和blob
blob指具体的某个文件,blob跟文件名没关系,git中blob文件内容相同就是一个东西.大树包小树,到文件.
commit->
tree
parent
author
...
命令:
git cat-file -p 23452324
tree 23434323
parent
author
committer
git cat-file -p 23434323
tree
blob 2324335
blob
tree
git cat-file -p 2324335
一个commit由多少个tree和blob
一个commit,两个tree和一个blob,和一个commit.
commit
tree
parent
author
tree
tree doc
tree
blob readme
blob hello
文档:
https://git-scm.com/book/zh/v2
- 创建或者克隆一个仓库
- 更改、暂存并提交
达叔小生:往后余生,唯独有你
You and me, we are family !
90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通
简书博客: 达叔小生
https://www.jianshu.com/u/c785ece603d1
结语
- 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
- 小礼物走一走 or 点赞
Git的初步学习的更多相关文章
- 浅谈自我对git的初步认识
本学期我们新增了一门课程,那就是软件工程,不知道为什么,感觉有种莫名的高大上.哈哈!难道是这个名称太抽象了吗?这个问题我感觉到后来肯定就明白了. 第一次博客,感觉好紧张哦,嘿嘿!老师让我们谈谈对git ...
- Git 笔记三 Git的初步使用
Git 笔记三 Git的初步使用 在上一篇中,学习了如何配置Git环境,这一篇,开始学习Git的初步使用.Git的初步使用还是很简单的.总体上知道git init, git clone, git ad ...
- React初步学习-利用React构建个人博客
React初步学习-利用React构建个人博客 用React和Webpack写了一个很简单的个人博客,主要是想要熟悉一下react中各种基本基本属性及方法的使用.在构建过程中碰到不少问题,通过阅读官方 ...
- Httprunner初步学习
一:简介 一直在技术博客上看到Httprunner测试框架,但始终不太明白这个框架的具体作用,今天就花点时间来初步学习了解一下. HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架, ...
- json2.js的初步学习与了解
json2.js的初步学习与了解,想要学习json的朋友可以参考下. json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面 ...
- 老周的ABP框架系列教程 -》 一、框架理论初步学习
老周的ABP框架系列教程 -- 一.框架理论初步学习 1. ABP框架的来源与作用简介 1.1 简介 1.1.1 ABP框架全称为"ASP.NET Boilerplate ...
- git的初步使用---本地代码库的使用和提交
git的初步使用---本地代码库的使用和提交 git是一个好东西,但对于新手来说,这个工具并不好使用,因为它里面涉及到很多东西,而这些东西新手一时间是无法理解的.不幸的是,本人就是新手一枚,所以,这里 ...
- 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助
初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...
- EF Codefirst 初步学习(二)—— 程序管理命令 更新数据库
前提:搭建成功codefirst相关代码,参见EF Codefirst 初步学习(一)--设置codefirst开发模式 具体需要注意点如下: 1.确保实体类库程序生成成功 2.确保实体表类库不缺少 ...
随机推荐
- Centos 系统swap虚拟内存添加与删除配置
SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的.它类似于Windows中的虚拟内存.在Windows中,只可以使用文件来当作虚拟内存.而linux可以文件或者分区来当作 ...
- Python内置的服务器的使用
cd 到某一文件 Python内置的服务器: E:\myObject\office\netObject\new-gcms> python -m SimpleHTTPServer 8888 如果是 ...
- python_appium_模拟器启动app进行登录
#coding=utf-8from appium import webdriverimport timedesired_caps = {} #列表desired_caps['platformName' ...
- Spring in Action 第一章 Spring之旅
1.1 简化Java开发 1.1.2 依赖注入(DI) 松耦合:如果一个对象只通过接口(而不是具体实现或初始化过程)来表明依赖关系,那么这种依赖就能在对象本身毫不知情的情况下,用不同的具体实现进行替代 ...
- github 生成配置ssh 秘钥方法详解
如果安装github成功后,当从本地提交文件到github的时候,提交不成功,报错,可能问题就是你还没有生成ssh秘钥 1.当你提交文件到github,不成功,出现如下的情况,就代表着github上面 ...
- 浅谈Java和PHP的异同
编程范式: Java:纯面向对象的语言,有人说过:Java中一切皆对象!当然咯,人们都忘了Java的八种基本数据类型:int.double.boolean.byte.float.long.short. ...
- 转存下链接--- Java awt Swing 进行拖拽实现布局
http://blog.csdn.net/vpingchangxin/article/details/8673825 swing开发图形界面工具,eclipse swing图形化操作界面工具配置
- go语言的运算符
什么是运算符:运算符用于在程序运行时执行数学或逻辑运算 go语言的运算符如下: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 一,算数运算符 运算符 描述 实例 + 相加 A ...
- (PMP)第1章-----引论
1.指南概述和目的: 2.基本要素: 项目:创造独特的产品,服务或成果而进行的临时性工作.特点:1.临时性 临时性并不一定意味着项目时间短.2.独特性 3.渐进明细性 项目管理:就是将知识,技 ...
- 转发:已知rsa的模数和指数 生成pem公钥文件
1.安装cryptographysudo pip3 install cryptography 2.代码 #coding:utf8# pupulate-pub-key-v3.py#from crypto ...