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. go 依赖包管理工具gb安装报错

    尝试了下gb工具,发现有个问题: [root@etcd1 test]# go get github.com/constabulary/gb/... /home/gopath/src/github.co ...

  2. DevExpress右键菜单使用 z

    添加BarManager和popupMenu组建: 设置popupMenu组件的Manager属性: 右键点击popupMenu主键,点击Customize选项添加菜单:    然后便可添加到鼠标事件 ...

  3. SilverLight:基础控件使用(5)-TreeView控件-基本使用

    ylbtech-SilverLight-Basic-Control:基础控件使用(5)-TreeView控件-基本使用 前台编辑 后台逐个添加 后台绑定数据源 1.A,返回顶部TreeView控件(树 ...

  4. Git 的使用Git Bash和Git GUI

    使用Github也有一年的时间了,之前一直都是使用的Github客户端,对提交,更新,克隆,合并,分支有一定的了解和实践.一直都想试试命令行的形式,但是感觉可能桌面版的方便就没有做. 可是Github ...

  5. HashMap 和 Hashtable 的同和不同

    综述 可以直接根据 hashcode 值判断两个对象是否相等吗?肯定是不可以的,因为不同的对象可能会生成相同的 hashcode 值.虽然不能根据 hashcode 值判断两个对象是否相等,但是可以直 ...

  6. 老司机找bug的十年心路历程

    一.码畜:靠编译器帮自己查语法错误 消灭笔误:编写适合程序猿的键盘练习 if (常量==变量或表达式) 使用goto接力超长的if,switch 连续的if还是if elseif 多个条件的组合:精心 ...

  7. linux下脚本监控网络流量

    linux下脚本监控网络流量 学习了:https://blog.csdn.net/chenghuikai/article/details/48437479 学习了:http://www.jb51.ne ...

  8. python(24)- 面向对象进阶

    面向对象基础知识: 1.面向对象是一种编程方式,此编程方式的实现是基于对类和对象的使用: 2.类是一个模板,模板中包装了多个‘函数’供使用(可以将多函数中公用的变量封装到对象中): 3.对象,根据模板 ...

  9. MySQL优化之——日志

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46790451 MYSQL里的日志主要分为4类,使用这些日志文件.能够查看MYSQL ...

  10. PHP 5.6编译安装

    yum install openssl openssl-devel libxml2-devel libxml2 bzip2 bzip2-devel curl-devel php-mcrypt libm ...