Git 学习总结
概况
CVS 及 SVN 都是集中式的版本控制系统,而 Git 是分布式版本控制系统。 集中式版本控制系统最大的毛病就是必须联网才能工作; 分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这 样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。 和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多。
基本操作
(1)安装Git
Windows平台很简单,直接在Git官网下载Windows版本的git.exe 文件,默认安装即可,注意在安装的时候确保目录名(包括父目录)不包含中文
安装完之后需要最后两步进行设置:
1 $ git config --global user.name "Your Name"
2 $ git config --global user.email "email@example.com"
(2)创建本地版本库
初始化版本库:
1 $ git init
蒋文件添加到本地仓库:
1 $ git add file1.txt
2 $ git add file2.txt file3.txt
3 $ git commit -m "add 3 files."
在Windows版本下写文件可直接使用vim编辑器,安装Git时候可以选择使用vim作为默认的编辑器
关于vim使用的命令再说一下吧:
进入插入模式:i
进入命令模式:ESC
保存与退出:先输入英文状态下的冒号(:),再输入x,按回车即可保存退出。
在本地仓库删除文件:
直接在Windows文件管理器下删除或者使用vim命令: rm xxx.py
(3)添加远程版本库(Github)
创建SSH Key:
1 $ ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到 .ssh 目录,里面有 id_rsa
和 id_rsa.pub
两个文件,这两个就是SSH Key的秘钥对, id_rsa
是私钥,不能泄露出去, id_rsa.pub
是公钥,可以放心地告诉任何人。
登陆GitHub,打开“Account settings”,找到“SSH and GPG Keys”页面:
然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴 id_rsa.pub 文件的内容:
点“Add Key”,你就应该看到已经添加的Key
关联一个远程库:
首先,登陆GitHub,然后,在右上角有一个加号找到“ new repository”按钮,创建一个新的仓库
使用命令进行关联:
1 $ git remote add origin git@github.com:path/repo-name.git
进行第一次推送:
1 git push -u origin master
之后再进行推送:
1 git push origin master
(4)从远程库进行克隆
如果是多人协作或者你在公司的电脑上要往远程仓库提交代码,回家之后也需要在自己的电脑上提交代码,你只需要在家里的那台电脑上从远程库克隆到家里的电脑上即可。
远程库克隆:
1 $ git clone git@github.com:path/repo-name.git
克隆完成之后你需要在本地仓库进行拉取同步:
1 git pull origin master
这样就可以在家里的电脑上进行写代码提交了。当然你在进行克隆远程库的时候需要注意:你必须在本地完成Git的安装及其两条重要的配置(看第一步)、初始化本地库和添加SSH Key!!!
(5)从远程库中删除文件
1 git rm xxx.py
2 git commit -m 'delete xxx file'
3 git push origin master
这样你在打开GitHub上的仓库,你就会发现xxx.py 已经被删除了。
最后,今天就更新这么多吧,其他的操作命令我以后用到在更新吧。
Git 学习总结的更多相关文章
- Git 学习看这篇就够了!
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- git学习之branch分支
作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...
- git学习手册
#git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- Git学习笔记(四)
一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...
- git 学习笔记6--remote & log
git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...
- Git学习(4)基本操作
1.版本提交 首先,接着上个Git学习(3)继续 我们先修改test.txt文本内容,增加一些信息进去,然后保存: Add a new data 第一步:运行命令 git status 命令查看文件是 ...
- git学习(这个我没有整理,是我不断在学习的过程中,自己总结的,对象是我,不过有问题的,我们可以相互交流)
每次git提交,都会有一个parent指针,指向上一次的commit , 如果合并,master就和hotfix河道一起,就直接删除hotfix就OK 此时,虽然操作一样,大底层实现不一样 ...
- git学习笔记01-git最基本的工作原理分布式
git学习的网站 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 --廖雪峰老师 ...
随机推荐
- PHP访问数据库配置通用方法
提取一种对数据库配置的通用方式 目的是通过通用类访问配置文件的方式,提供对数据库连接的动态获取和设置,使开发时和生产应用时都能够提供灵活的.简化的.解耦的操作方式.比如在配置文件中配置好两套数据库访问 ...
- gevent:异步理论与实战[转]
原创 2018-01-10 大邓 大邓带你玩python gevent库中使用的最核心的是Greenlet-一种用C写的轻量级python模块.在任意时间,系统只能允许一个Greenlet处于运行状态 ...
- Springboot2.0(Spring5.0)中个性化配置项目上的细节差异
在一般的项目中,如果Spring Boot提供的Sping MVC不符合要求,则可以通过一个配置类(@Configuration)加上@EnableWebMvc注解来实现完全自己控制的MVC配置.但此 ...
- 聊聊 Spring Boot 2.x 那些事儿
本文目录: 即将的 Spring 2.0 - Spring 2.0 是什么 - 开发环境和 IDE - 使用 Spring Initializr 快速入门 Starter 组件 - Web:REST ...
- JS奇淫巧技:防抖函数与节流函数
应用场景 实际工作中,我们经常性的会通过监听某些事件完成对应的需求,比如: 通过监听 scroll 事件,检测滚动位置,根据滚动位置显示返回顶部按钮 通过监听 resize 事件,对某些自适应页面调整 ...
- app后端设计(10)--数据增量更新
在新浪微博的app中,从别的页面进入主页,在没有网络的情况下,首页中的已经收到的微博还是能显示的,这显然是把相关的数据存储在app本地. 使用数据的app本地存储,能减少网络的流量,同时极大提高了用户 ...
- 基于开源 Openfire 聊天服务器 - 开发Openfire聊天记录插件
原文:http://www.cnblogs.com/hoojo/archive/2013/03/29/openfire_plugin_chatlogs_plugin_.html 随笔-150 评论- ...
- VS2012中出现“无法启动程序...debug\abc.exe,系统找不到指定文件”的问题!
VS 2005在生成可执行文件时使用了一种新的技术,该技术生成的可执行文件会伴随生成一个清单文件(manifest file)(.manifest后缀文件)(其本质上是XML文档,你可以用文本编辑器打 ...
- springMVC简单的一些操作
SpringMVC的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器进行处理,由DispatcherServlet来统一 ...
- Python3 模拟登录知乎(requests)
# -*- coding: utf-8 -*- """ 知乎登录分为两种登录 一是手机登录 API : https://www.zhihu.com/login/phone ...