zoukankan      html  css  js  c++  java
  • GIT——这年头不会点Git真不行!!!https://segmentfault.com/a/1190000012411953

    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 "xxx@qq.com"
    
    • 创建完成后,在用户主目录里找到.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 git@github.com:账号名/项目名.git

    git clone git@github.com: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 '说明信息'

    上传文件

    恢复之前的版本

  • 相关阅读:
    vue自定义指令
    ZOJ Problem Set–2104 Let the Balloon Rise
    ZOJ Problem Set 3202 Secondprice Auction
    ZOJ Problem Set–1879 Jolly Jumpers
    ZOJ Problem Set–2405 Specialized FourDigit Numbers
    ZOJ Problem Set–1874 Primary Arithmetic
    ZOJ Problem Set–1970 All in All
    ZOJ Problem Set–1828 Fibonacci Numbers
    要怎么样调整状态呢
    ZOJ Problem Set–1951 Goldbach's Conjecture
  • 原文地址:https://www.cnblogs.com/x54256/p/8183123.html
Copyright © 2011-2022 走看看