GIT——这年头不会点Git真不行!!!

GIT简介

Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。

  • 集中式:远程服务器保存所有版本,用户客户端有某个版本
  • 分布式:远程服务器保存所有版本,用户客户端有所有版本

GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)。

Git本身完全可以做到版本控制,但其所有内容以及版本记录只能保存在本机,如果想要将文件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。使用场景:

  • 无GitHub:在本地 .git 文件夹内维护历时文件
  • 有GitHub:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库

GIT的使用

安装

sudo apt-get install git  # Ubuntu

yum install git  # centos

创建github账号

创建本地与GitHub之间的ssh连接

  • 本地Git仓库和GitHub仓库之间的传输是通过SSH加密的
  • step1:创建项目的SSH Key
ssh-keygen -t rsa -C "[email protected]"
  • 创建完成后,在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
  • step2:登录github注册或登录账号,打开“settings”的“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key

创建远程库

  • 登陆GitHub
  • 在右上角找到“new repository”按钮,创建一个新的仓库

从远程库克隆

  • 将github上的项目,克隆到本地一份
git clone [email protected]:账号名/项目名.git

git clone [email protected]:x54256/hello-world-.git

与远程库交互

  • 从远程库获取到本地
git pull
  • 将本地提交远程库
git push origin master
  • 提示:每次提交前,需要先获取,解决冲突后再次提交

文件管理

  • 本地仓库分为三部分:工作区,暂存区,仓库区,其中暂存区、仓库区是版本库部分
  • 三个部分的操作及命令如下图

工作区与暂存区

  • 使用IDE打开目录,创建项目,将文件添加到暂存区
git add 文件1 文件2 ...
git add 目录
  • 使用暂时区的内容恢复工作区的内容
git checkout -- 文件名
  • 查看暂存区的状态
git status

暂存区与仓库区

  • 将暂存区的记录添加到仓库区
git commit -m ‘本次提交的说明信息‘
  • 查看仓库区的历史
当前版本的历史版本:git log
简版显示:git log --pretty=oneline
历史命令:git reflog
  • 在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
  • 对比工作区和仓库区中某版本某文件的不同
git diff HEAD -- 文件名
  • 回退历史版本到暂存区
git reset HEAD^或版本号

删除文件

  • 依次执行如下命令
rm 文件名
git rm 文件名
git commit -m ‘说明信息‘

上传文件

恢复之前的版本

原文地址:https://www.cnblogs.com/x54256/p/8183123.html

时间: 2024-08-30 05:47:05

GIT——这年头不会点Git真不行!!!的相关文章

这年头不会点Git真不行!!!

版本控制 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象! 1 2 3 4 5 6 7 8 9 10 11 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc 毕业论文_修改3.doc 毕业论文_完整版1.doc 毕业论文_完整版2.doc 毕业论文_完整版3.doc 毕业论文_最终版1.doc 毕业论文_最终版2.doc 毕业论文_死也不改版.doc ... 以上就是使用最原始的方式进行版本控制,但是这种方式有显著缺点: 多

老铁,这年头不会点git真不行

作者:武沛齐 出处:http://www.cnblogs.com/wupeiqi/ 版本控制 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象! 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc 毕业论文_修改3.doc 毕业论文_完整版1.doc 毕业论文_完整版2.doc 毕业论文_完整版3.doc 毕业论文_最终版1.doc 毕业论文_最终版2.doc 毕业论文_死也不改版.doc 以上就是使用最原始的方式进行版本控制,

老铁啊,我同你讲, 这年头不会点 Git 真不行!!!

-------------------------------------知识是一点一点的积累的, 也是一点一点的吸收的,没有人一口就能吃成一个胖子. 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象! 1 2 3 4 5 6 7 8 9 10 11 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc 毕业论文_修改3.doc 毕业论文_完整版1.doc 毕业论文_完整版2.doc 毕业论文_完整版3.doc 毕业论文_最终版1

Git详解之九:Git内部原理

Git 内部原理 不管你是从前面的章节直接跳到了本章,还是读完了其余各章一直到这,你都将在本章见识 Git 的内部工作原理和实现方式.我个人发现学习这些内容对于理解 Git 的用处和强大是非常重要的,不过也有人认为这些内容对于初学者来说可能难以理解且过于复杂.正因如此我把这部分内容放在最后一章,你在学习过程中可以先阅 读这部分,也可以晚点阅读这部分,这完全取决于你自己.(伯乐在线注:如果你对Git还不了解,建议从本Git系列第一篇文章开始阅读) 既然已经读到这了,就让我们开始吧.首先要弄明白一点

【Git入门之十四】Git GUI

[Git入门之十四]Git GUI - JackyStudio - 博客频道 - CSDN.NET 文章都快写完了,Git GUI才浮出水面,很多人要骂我,这么方便的东西怎么不早拿出来. 当然命令行和图形界面各有千秋,个人觉得命令行更能让人清楚的掌握整个项目的代码线.当然萝卜青菜各有所爱,Windows,Linux也是一样.喜欢什么客官您挑.本文只做简单介绍. 1.Git GUI有什么? 霸气测漏的右键菜单和可视化管理界面. 2.初始化仓库 新建一个文件夹叫JackyGUI,右键点击Git In

Git Step by Step – (4) 探索.git目录

前面一篇文章介绍了Git对象模型,接下来我们就进入".git"目录看看到底有什么东西,目录中哪些东西又跟Git对象模型相关.结合这个目录,我们将进一步了解Git的工作原理. .git目录 下面就开始进入.git目录了,通过"ls"命令可以看到.git目录中的文件和子目录: 对于这些文件和目录,下面给出了一些基本的描述.在后面后有logs.objects.refs.index和HEAD更详细的介绍 (D) hooks:这个目录存放一些shell脚本,可以设置特定的gi

Git之 手把手教你使用Git

一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活, 干完后,需要把自己做完的活推送到中央服务器.集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网 速慢的话,就纳闷了. Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版

ubuntu 安装git并且使用CSDN提供的git服务器管理项目代码

1. 安装git客户端 sudo apt-get install git 2. 设置用户名和邮件 git config --global user.name "XXXX" git config --global user.email "[email protected]" 3. 初始化为仅包含空README.MD文件的空项目: touch README.md git init git add README.md git commit -m "first c

Windows Git Bash命令行下创建git仓库并更新到github

大二的时候就听过老师说有一个叫git的版本管理工具,当时只是听老师说说而已,也没有去使用它,因为当时用过svn,就感觉自己没多少东西需要git管理. 最近几天,我经常在开源中国看别人的帖子,看到别人对git和github这个平台评价如此之高,于是我就下载了一个windows版本的git bash, 一开始使用就被它的速度和实用所折服,于是在我的虚拟Centos 7上也装上了git ,现在我主要利用它帮助我管理一些繁琐的小代码,git这样的工具的魅力还需要我慢慢体会. 现在我就记录一下我在Wind