1 安装

  win安装

    地址

  安装之后自报家门

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

2 使用本地库

  创建本地文件夹

  将当前文件夹设置为仓库

$ git init

  添加文件到本地库

$ git add readme.txt

    注意, 在git中, commit提交的是add的文件,不是源文件,  所以对源文件再修改内容, 此部分的修改不会被commit.

    因此, 要提交之前先add, 保证修改都能被提交上

  提交添加的内容

$ git commit -m "wrote a readme file"

    其中m后面的是 该版本的 添加信息

  查看仓库的文件状态是不是有更新或者修改

$ git status

  查看文件不同点

$ git diff readme.txt 

3 版本回退

  查看历史记录

$ git log
$ git log --pretty=oneline

# 下一种是省略一点的信息的查看方式

  返回到上个版本

$ git reset --hard HEAD^

    其中 HEAD^表示回退一个版本, HEAD^^表示回退两个版本, HEAD~100表示回退100个版本

  再返回之前的版本

$ git reset --hard 3628164

    其中的数字是版本号

    如果忘记了版本号, 可以通过reflog查看

$ git reflog

4 工作区与版本库

  

  工作区是指本地仓库

  此时可以通过add到版本库的stage中

  在stage中的文件可以通过commit提交到版本库中

5 撤销修改

  撤销修改

git checkout -- file

    注意此时是清除工作区的内容, 如果stage有内容就回复成stage的, 如果没有就回复成master的

  撤销add

 git reset HEAD readme.txt

6 删除文件

  删除文件

$ git rm test.txt
$ git commit -m "remove test.txt"

    注意这个删除是删除本地库文件的删除

    要使修改提交到远程库

$ git push origin master

  如果误删了, 可以恢复

$ git checkout -- test.txt

7 添加远程仓库

  生成ssh-keygen

$ ssh-keygen -t rsa -C "xuanyetouci@126.com"

  登录github, 打开Account settings, 添加ssh, 将在C:\Users\Administrator\.sshid_rsa.pub的内容复制上去

  将本地的仓库链接至远程仓库

$ git remote add origin git@github.com:xuanyetouci/learngit.git

    其中origin是在本地对远程仓库的命名

    git@github.com是固定写法

    冒号后面是 用户名/仓库名.git

  将本地内容推送出去 

$ git push -u origin master

  将本地修改写入到远程仓库中

$ git push origin master

8 克隆

  第7点 是已有了本地的仓库, 添加到远程的仓库

  克隆是指已经有可远程仓库, 想要把远程的内容拷贝到本地仓库

   克隆到本地

$ git clone git@github.com:xuanyetouci/gitskills.git

    其中会在当前文件夹生成一个gitskills文件夹

9 创建分支

  创建分支

$ git checkout -b 分支名字

    其中 -b 表示创建分支并且切换

  效果等同于

$ git branch 分支名字
$ git checkout 分支名字

  查看分支

$ git branch

    会列出所有分支, 当前分支前面有个*

  切换分支

$ git checkout master

  合并指定分支到当前分支

$ git merge 指定的分支名

  删除分支

$ git branch -d 分支名

git学习笔记(上)的更多相关文章

  1. Git学习笔记-上传一个新的项目到GitHub上

    前提: 已有Github账号,已在Github上建立了仓库,已在Github上配置了SSH,已上传过一些项目到Github上 目标: 目前有一个新的项目,需要上传到github上 我的做法记录: 1. ...

  2. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  3. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  4. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

  5. Git学习笔记---协作的一般流程

    一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...

  6. 【转帖】Git学习笔记 记录一下

    本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...

  7. [转]Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  8. GIT学习笔记(1):创建版本库

    GIT学习笔记(1):创建版本库 创建版本库 1.创建合适目录并初始化为仓库 版本库即需要交由Git进行版本控制的目录,其下所有文件的修改.删除,Git都能跟踪还原. 说明:初始化后,当前目录下会多出 ...

  9. GIT学习笔记(5):变基

    GIT学习笔记(5):变基rebase 变基 引入变基 在Git中整合来自不同分支的修改主要有两种方法:merge以及rebase. 整合分支最容易的方法是merge,他会把两个分支的最新快照以及两者 ...

随机推荐

  1. Win7下Nginx的安装与配置

    1.  下载nginx1.9.9版本:(版本随时间而变,下载最新即可) http://nginx.org/download/nginx-1.9.9.zip 2. 解压软件到对应位置,并重命名文件夹为n ...

  2. 拦截器及 Spring MVC 整合

    一.实验介绍 1.1 实验内容 本节课程主要利用 Spring MVC 框架实现拦截器以及 Spring MVC 框架的整合. 1.2 实验知识点 Spring MVC 框架 拦截器 1.3 实验环境 ...

  3. libsvm交叉验证与网格搜索(参数选择)

    首先说交叉验证.交叉验证(Cross validation)是一种评估统计分析.机器学习算法对独立于训练数据的数据集的泛化能力(generalize), 能够避免过拟合问题.交叉验证一般要尽量满足:1 ...

  4. 分布式服务框架选型:面对Dubbo,阿里巴巴为什么选择了HSF?

    转载:http://www.sohu.com/a/141490021_268033 阿里巴巴集团内部使用的分布式服务框架 HSF(High Speed Framework,也有人戏称“好舒服”)已经被 ...

  5. C中參数个数可变的函数

    一.什么是可变參数 我们在C语言编程中有时会遇到一些參数个数可变的函数,比如printf()函数,其函数原型为: int printf( const char* format, ...); 它除了有一 ...

  6. C---指针篇

    指针变量:专门存放内存地址的一种变量 听说C因为指针而强大 一段代码来解释 指针 *指针 &指针 &指向变量 的关系 /* * 返回指针所指向内存地址中存放的值 它是单目运算符 也称作 ...

  7. angularJS 常用插件指令

    长时间没有登入博客园了,今天突然想了想,当初开这个的目的,其实就是为了记录你当下的一个状态和累计一些问题,所以记录这些还是很有意义,毕竟不是什么牛,靠脸又吃不饱的这个年代,需要留下一些东西给自己看也好 ...

  8. 在jquery的ajax方法中的success中使用return要注意的问题

    jquery的ajax方法:在success中使用return:来结束程序的时候,结束的只是success这个方法,也就是说success中的return的作用范围只是success: 如果要想在su ...

  9. cocos2dx-3.1 接入多盟广告sdk+Android (2)

    上篇,把基本工作做完了,接下来,在C++下加入代码. 1.打开win32下的project,加入一个类.DomobAd.代码例如以下, <pre name="code" cl ...

  10. javaScript中innerHTML,innerText,outerHTML,outerText的区别

    开头说下innerText和outerText只在chrome浏览器中有效 定义和用法 innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML,包括标签. 来看代码 <!DOC ...