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. Android Glide源码分析

    1. 功能介绍 图片加载框架,相对于UniversalImageLoader,Picasso,它还支持video,Gif,SVG格式,支持缩略图请求,旨在打造更好的列表图片滑动体验.Glide有生命周 ...

  2. 设置NSZombieEnabled和MallocStackLogging

    在XCode.4以上版本号中,设置NSZombieEnabled和MallocStackLogging 1.点击XCode的Product菜单.选择Edit Scheme...选项 2.选择左側的Ru ...

  3. 【Lintcode】二叉树的最大深度 - 比较简单,用递归比较好,不递归也能做,比较麻烦

    给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的距离. 您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的 ...

  4. 第七讲_图像描述(图说)Image Captioning

    第七讲_图像描述(图说)Image Captioning 本章结构 递归神经网络 时序后向传播(BPTT) 朴素Vanilla-RNN 基本模型 用sigmoid存在严重的梯度消失 LSTM长短时记忆 ...

  5. 解决Gradle执行命令时报Could not determine the dependencies of task ':compileReleaseJava'.

    Could not determine the dependencies of task ':compileReleaseJava'. > failed to find target andro ...

  6. SGPIO

    http://en.wikipedia.org/wiki/SGPIO SGPIO From Wikipedia, the free encyclopedia   Serial General Purp ...

  7. linux之return和exit引发的大问题(vfork和fork)

    在coolshell.cn上看到的一个问题.为此拿来研究一下. 首先 看看return和exit的差别 在linux上分别跑一下这个代码 int main() { return 0; //exit(0 ...

  8. kubernetes对象之Volume

    系列目录 概述 Volume是对各种存储资源的抽象.虚拟化.为管理.控制.使用存储资源提供统一接口.Openstack中的volume为虚拟机提供存储,Docker中的volume为容器提供存储.因为 ...

  9. openwrt 修改 banner

    http://www.network-science.de/ascii/ rectangles 风格

  10. 关闭和定时显示DIV

    <script type="text/javascript"> $(function(){ $('#ad1').css('display','block'); }) f ...