一 、git的安装

windows下面的安装:https://git-for-windows.github.io  从这里下载完全无脑安装。

安装完成后,在开始菜单里找到“Git”->“Git Bash”  表示安装成功。

之后,在命令行输入:

$ git config --global user.name "Your Name"

$ git config --global user.email "email@example.com"

二 、

1.创建版本库

第一步,打开git,切换到你想要创建版本库的文件夹。

例如:

$ mkdir learngit

$ cd learngit

$ pwd

/Users

pwd命令用于显示当前目录。在我的Mac上,这个仓库位于/Users。

PS:使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

第二步,通过git init命令把这个目录变成Git可以管理的仓库(git的初始化操作)

2.把文件添加到版本库

在Learngite文件夹下面创建一个文件命名为readme.txt.随意添加内容在文档里面。

千万不要使用Windows自带的记事本编辑任何文本文件

第一步,用命令git add告诉Git,把文件添加到仓库

$ git add readme.txt

执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。

第二步,用命令git commit告诉Git,把文件提交到仓库:

$ git commit -m "wrote a readme file"

[master (root-commit) cb926e7] wrote a readme file

1 file changed, 2 insertions(+)

create mode 100644 readme.txt

git commit命令,-m后面输入的是本次提交的说明,最好是有意义的,便于以后的修改。

三 版本控制

1.运行git status命令查看当前文件的状态:

$ git status

# On branch master

# Changes not staged for commit:

#   (use "git add <file>..." to update what will be committed)

#   (use "git checkout -- <file>..." to discard changes in working directory)

#

#    modified:   readme.txt

#

no changes added to commit (use "git add" and/or "git commit -a")

git status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没有准备提交的修改。

2.运用git diff 查看文件的改变,如果有改变可以用git add 提交,之后用git commit -m ‘修改提示’,进行更新版本。

四 版本回溯

1 用 git log 查看git日志。

git log命令显示从最近到最远的提交日志

git log --pretty=oneline   命令是用来查看git的版本号(commit id)十六进制表示

2.用git reset --hard HEAD^命令回到上一个版本,head~10回到之前第十个版本。

$ git reset --hard HEAD^

.git reset --hard commit id,表示回溯到指定的版本

PS:工作区域与暂存区域的理解

把文件往Git版本库里添加的时候,是分两步执行的:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

git diff HEAD -- readme.txt  命令表示查看工作区的版本与版本库最新的版本的区别。

Git是跟踪修改的,每次修改,如果不add到暂存区,那就不会加入到commit中。

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

2 第二种情况 加入修改的文件已经添加到暂存区,第一步使用 git reset HEAD file(文件名)撤销暂存,再使用 git checkout -- file(文件名)取消修改。

3 rm file(文件名) 删除一个文件。

(1)如果确定删除 使用删除命令 git rm file(文件名) 彻底删除文件,之后需要 git commit  -m ‘删除了一个xxx文件’.

(2)如果删错了,使用git checkout -- file(文件名)

五 、 远程库创建

要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone 地址 命令克隆

查看当前配置有哪些远程仓库,可以用 Git remote  -v 命令

六 创建分支

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

用git log --graph命令可以看到分支合并图。

切换远程库的位置: git remote set-url origin https://github.com/hollychengjianhua/learngit.git

github 自学文档 希望可以给初学的人一些帮助的更多相关文章

  1. Readthedocs+Github搭建文档

    一.文档撰写前提 环境部署: > git clone https://github.com/toooney/demo-readthedocs.git > pip install sphin ...

  2. JAVA代码规范 标签: java文档工作 2016-06-12 21:50 277人阅读 评论(5) 收藏

    开始做java的ITOO了,近期的工作内容就是按照代码规范来改自己负责的代码,之前做机房收费系统的时候,也是经常验收的,甚至于我们上次验收的时候,老师也去了.对于我们的代码规范,老师其实是很重视的,他 ...

  3. LaTeX相关自学文档

    install-latex-guide-zh-cn: lshort-zh-cn: 百度网盘链接:https://pan.baidu.com/s/1cBv9Fu8KFaf0QFZ7_slxmw 提取码: ...

  4. CRMEB客户管理+电商管理系统帮助文档,送给有需要的人

    本项目还在不断开发完善中,如有建议或问题请言

  5. Laravel(PHP)使用Swagger生成API文档不完全指南 - 基本概念和环境搭建 - 简书

    在PHPer中,很多人听说过Swagger,部分人知道Swagger是用来做API文档的,然而只有少数人真正知道怎么正确使用Swagger,因为PHP界和Swagger相关的资料实在是太少了.所以鄙人 ...

  6. java 文档自动生成的神器 idoc

    写文档 作为一名开发者,每个人都要写代码. 工作中,几乎每一位开发者都要写文档. 因为工作是人和人的协作,产品要写需求文档,开发要写详细设计文档,接口文档. 可是,作为一个懒人,平时最讨厌的一件事情就 ...

  7. JSP实现word文档的上传,在线预览,下载

    前两天帮同学实现在线预览word文档中的内容,而且需要提供可以下载的链接!在网上找了好久,都没有什么可行的方法,只得用最笨的方法来实现了.希望得到各位大神的指教.下面我就具体谈谈自己的实现过程,总结一 ...

  8. C#实现通过模板自动创建Word文档的方法

    原文地址:http://www.jb51.net/article/55332.htm   本文实例讲述了C#实现通过模板自动创建Word文档的方法,是非常实用的技巧.分享给大家供大家参考.具体实现方法 ...

  9. WPF界面设计技巧(11)-认知流文档 & 小议WPF的野心

    原文:WPF界面设计技巧(11)-认知流文档 & 小议WPF的野心 流文档是WPF中的一种独特的文档承载格式,它的书写和呈现方式都很像HTML,它也几乎具备了HTML的绝大多数优势,并提供了更 ...

随机推荐

  1. php中des加密解密 匹配C#des加密解密 对称加密

    原文:php中des加密解密 匹配C#des加密解密 对称加密 网上找来的 php des加密解密 完全匹配上一篇C# 字符串加密解密函数  可以用于C#和php通信 对数据进行加密,其中$key 是 ...

  2. mysql设置root的密码

    mysql -u root mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

  3. 转载:善待Redis中的数据

    Redis是我们数据的保管者,我们可以随时存随时取,大的小的,重要的不重要的,它都毫无怨言的帮我们保存着,甚至有些时候,我们变得很懒,存东西进去的时候顺便还贴张纸:"过了一个星期就帮我扔了吧 ...

  4. DDD分层架构之领域实体(基础篇)

    DDD分层架构之领域实体(基础篇) 上一篇,我介绍了自己在DDD分层架构方面的一些感想,本文开始介绍领域层的实体,代码主要参考自<领域驱动设计C#2008实现>,另外参考了网上找到的一些示 ...

  5. solr与.net主从复制

    solr主从复制 solr与.net系列课程(七)solr主从复制    既然solr是解决大量数据全文索引的方案,由于高并发的问题,我们就要考虑solr的负载均衡了,solr提供非常简单的主从复制的 ...

  6. iOS基础 - UIScrollView

    一.UIScrollView使用引导思路. 1.之前我们所学的显示图片是用UIImageView 2.将UIImageView添加到根视图中,不显示的原因:没有设置位置 3.当图片比屏幕大时,直接放在 ...

  7. Linux学习-Linux历史(总结篇)

    Linux之前,Unix的历史 1969年以前,一个伟大的梦想:Bell,MIT与GE的Multics系统 在此之前的计算机主机少,用户从多,程序是在读卡纸上打洞,光是等待.为了更加强化大型主机的功能 ...

  8. Clob类型转换成String类型

    oracle中表结构如下: create table GRID_RESOURCE ( ID VARCHAR2(50), CNNAME VARCHAR2(50), TYPE VARCHAR2(50), ...

  9. jquery以及js实现option左移右移

    <table cellspacing="1" width="350px" align="center"> <tr> ...

  10. Redis系统学习 二、数据结构

    一.字符串     1.在Redis里,字符串是最基本的数据结构.当你在思索着关键字-值对时,你就是在死锁着字符串数据结构.不要被名字给搞混了. 常见实例: set users:leto " ...