一,Git 简介

其实这个就不用说了 但是国际惯例还是介绍一下吧;

Git 是一个开源的分布式版本控制系统,用于敏捷 高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

二,Git 安装配置

1,这里咱们就介绍Windows下的安装, 下载也是十分简单 https://git-scm.com/downloads, 直接一路next, 就按照默认提示安装就好;

2,安装成功之后,在窗口内点击鼠标右键,出现Git GUI Here 和 Git Bash Here;证明安装成功;

3,Git安装完成之后,还需要最后一步设置,打开Git Bash Here 输入 :

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

因为Git是分布式版本管理系统,所以每个机器都必须自报家门:你的名字和邮箱地址;--global表示全局,表示这台机器上所有的Git仓库否会使用这个配置。

三,初始化版本库

版本库(repository),其实可以理解为一个文件夹,这和文件夹内的所有文件都可以被Git管理起来;

初始化版本库;在指定文件夹下,打开Git Bash Here 输入:

$ git init

此时文件夹内会生成一个.git文件夹,这个目录是Git来跟踪管理版本库的。

四,把代码存储到.git仓库中
$ git add ./filename  # 如果需要提交多个文件 直接用 ./ 表示当前目录下所有文件
$ git commit -m "commit description"
$ git commit --all -m "commit description" # 一次性把修改后的代码直接放到仓库中
五,查看当前状态
$ git status
六,查看日志
$ git log # 查看历史提交记录
$ git log --oneline # 查看精简版的日志
$ git reflog # 可以看到每一次切换版本的记录: 可以看到所有提交的版本号
七,回退到指定的版本
$ git reset --hard Head~0 # 这里0表示索引
$ git reset --hard 版本号 # 这里的版本号 是提交后的版本号 通过 git log --oneline查看
八,分支

默认有一个主分支 master

工作流程为:

1, 先创建一个分支

2, 切换到指定的分支

3, 然后正常写入内容, 完成后提交

4, 切换到主分支

5, 合并至主分支

$ git branch dev # 创建了一个dev的分支, 刚创建时里面的东西和master是一样的
$ git checkout dev # 切换到指定的分支(dev)
$ git branch # 查看当前的所有分支
$ git merge dev # 把当前分支与指定分支, 进行合并

从某个分支提交代码如果存在冲突的话, 需要手动去处理冲突, 然后再提交一次

九,提交和拉取
$ git push https://github.com master  # 把本地代码提交到 远程仓库的master分支
$ git pull http://github.com master # 从远程仓库的master分支把文件拉到本地
$ git clone http://github.com # 会得到远程仓库相同的版本, 如果多次执行会覆盖本地内容(一般第一次使用)

每次的提交和拉取文件都需要 输入远程仓库的地址, 这样会显得很不方便, 当然这个也是有办法解决的

$ git remote add origin http://github.com  # 相当于给连接定义了一个origin的变量, 以后再次git push 或 git pull 的时候就不需要每次都输入连接了
$ git push origin -u master # 相当于把远程仓库的master和本地的master建立了关系, 以后再次push和pull的时候就直接使用 git pull 或 git push 就可以了
pull 和 clone的区别

clone 是本地没有 repository 时,将远程 repository 整个下载过来。

pull 是本地有 repository 时,将远程 repository 里新的 commit 数据(如有的话)下载过来,并且与本地代码merge。

十,ssh方式上传代码

生成公钥和私钥

$ ssh-keygen -t rsa -C "your email"

执行命令后会在当前电脑的用户目录下生成一个文件夹.ssh(windows为例)

一个id_rsa文件, 另一个id_rsa.pub, 然后复制id_rsa.pub内的值放到github => setting =>SSH andGPG keys => New SSH keys 复制完成之后就可以通过 ssh的方式提交代码了

$ git push git@github.com:xxx/ssh.git master
速查表

最新文章

  1. Android -- 案例学习积累
  2. 08 Servlet
  3. sharepoint2010问卷调查(2)-实现问卷的图片调查(采用自定义字段类型)
  4. Linux在目录中查找某个函数
  5. macbook装双系统多分区其实很简单,你只要把macbook当作一台普通pc就可以了!
  6. MVC ajaxSubmit上传图片
  7. JVM垃圾回收机制总结(1) :一些概念
  8. Ubutu命令 笔记积累
  9. Java线程--interrupt join yield setDaemon常用方法的使用
  10. 更多细节的理解RSA算法
  11. 23 创建ArcMap启动日志
  12. was系统的远程调试
  13. 转发:已知rsa的模数和指数 生成pem公钥文件
  14. 降维方法PCA与SVD的联系与区别
  15. github第一次作业链接
  16. SLAM学习笔记 - 视觉SLAM方法资源汇总
  17. SQL2008:WITH MOVE 子句可用于重新定位一个或多个文件
  18. MySQL把一个大表拆分多个表后,如何解决跨表查询效率问题
  19. 11.7 Daily Scrum(周末暂停两天Daily Scrum)
  20. Python学习-36.Python中的字典解释

热门文章

  1. pull request的使用
  2. 八、ARM 汇编程序格式和程序控制
  3. u-boot-2016.09 make编译过程分析(二)
  4. 自定义指令 限制input 的输入位数
  5. 全文索引:部分词能查到,部分词查不到的bug
  6. Django【第26篇】:中介模型以及优化查询以及CBV模式
  7. canvas在图片上生成文字
  8. PHP环境安全性能检查
  9. 关于mysql(Navicat premium软件中) 外键设置中“删除”和“更新”选项详解
  10. Python---进阶---函数式编程---lambda