zoukankan      html  css  js  c++  java
  • git的使用

    一、下载和安装

    下载git

    二、安装-启动git

    Mac 本 打开终端

    windows本 开始 => git文件 =>

    a. git bash 支持linux命令的 shell

    b. git cmd 支持windows命令的shell(垃圾)

    c. git gui 可视化界面(难用)

    三、git和github

    img

    1. git shell 命令行客户端工具

    2. github 全球最大的一个开源社区,版本仓库网站。github官网

    3. gitee 国内一个Git的代码托管和研发协作平台。(都需要注册账号)

      我们先来理解下 Git 工作区、暂存区和版本库概念:

      • 工作区:就是你在电脑里能看到的目录。
      • 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
      • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

      下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:

      img

      • 图中左侧为工作区,右侧为版本库。在版本库中标记为 "index" 的区域是暂存区(stage/index),标记为 "master" 的是 master 分支所代表的目录树。
      • 图中我们可以看出此时 "HEAD" 实际是指向 master 分支的一个"游标"。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。
      • 图中的 objects 标识的区域为 Git 的对象库,实际位于 ".git/objects" 目录下,里面包含了创建的各种对象及内容。
      • 当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。
      • 当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。
      • 当执行 git reset HEAD 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。
      • 当执行 git rm --cached 命令时,会直接从暂存区删除文件,工作区则不做出改变。
      • 当执行 git checkout . 或者 git checkout -- 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。
      • 当执行 git checkout HEAD . 或者 git checkout HEAD 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。

    四、git操作

    1. 进入当前目录
    $ cd 路径
    
    1. 当前目录的初始化(设置文件夹选项,显示隐藏文件)
    $ git init
    

    出现了一个.git文件,这个文件是当前仓库的配置文件,里面存储着,当前项目,进行版本控制的一切信息。

    第二个事情,在本地建立一个虚拟仓库。

    1. 注册账号完成以后,在你的账号下,去建立一个远程仓库
    2. 在本地的git上,设置你的账户和用户名
    $ git config --global user.name '你的git名称'
    $ git config --global user.email '你github登陆的邮箱地址'
    例如:
    $ git config --global user.name 'demo'
    $ git config --global user.email '309553513@qq.com'
    
    1. 工作区 上传到 暂存区
    $ git add * / git add . / git add 文件名字
    $ git commit -m 'first commit'  这一次提交的描述信息
    
    1. 查看暂存区和工作区提交状态
    $ git status
    
    1. 查看工作区和暂存区,文件的变化
    $ git diff
    
    1. 查看历史版本
    $ git log //如果版本乱可以使用 `git log --pretty=online`
    
    1. 版本回滚
    $ git reset --hard HEAD^    回到上一个版本
    $ git reset --hard HEAD^^   回到上上一个版本
    $ git reset --hard 版本号
    
    1. 配置一个文件 .gitignore

    在这个文件中缩写的路径,都是我们要忽略的文件。

    1. 暂存区提交数据到远程仓库去
    $ git remote add origin 仓库地址.git
    $ git push -u origin master
    

    push以后,有可能会要求大家输入账户和密码(github的账户和密码)。

    1. 必须先生成ssh密匙,是在你的电脑上生成,配置到github配置项中
    $ ssh-keygen -t rsa -C '邮箱@gmail.com'
    

    用户文件夹中查找 => .ssh/id_rsa.pub 复制其中密匙

    在github或者gitee的用户配置项中添加ssh密匙

    五、如果已经提交成功了

    1. git add *
    2. git commit -m ''
    3. git push

    六、创建分支

    $ git branch (branchname)
    $ git branch  //列出分支
    

    一般情况下,我们在新增内容的时候,不要在主分支上在原程序做任何修改,我们可以先去创建一个分支,

    如果在分支开发没有问题以后,再将分支的内容合并到主分支上去。

    还可以用于:Bug修复 新开发功能 调试...

    七、切换分支

    $ git checkout branchname
    

    快捷方式

    $ git branch (branchname) -b  //创建分支,切换分支
    

    八、合并分支

    $ git merge (branchname)
    

    九、提交到远程仓库去

    $ git push --set-upstream origin bbb
    

    十、删除分支

    $ git branch -d (branchname)
    

    十一、克隆(第一次拉去程序到本地)

    $ git clone 仓库地址.git
    

    十二、更新你当前的项目版本到最新版本

    $ git pull
    

    十三、git删除远程仓库的文件或文件夹

    删除文件

    dir demo // 查询demo文件夹下的所有文件和文件夹
    git rm -r --cached deme /a.txt // 删除demo文件夹下的a.txt文件,加入到删除缓存中
    git commit -m ‘删除demo文件夹下的a.txt文件’ // 执行删除缓存,提交文字为“删除demo文件夹下的a.txt文件”

    删除文件夹

    git rm -r --cached demo // 删除demo文件夹,加入到删除缓存中
    git commit -m ‘删除demo文件夹’ // 执行删除缓存,提交文字为“删除demo 文件夹”
    git push // 推送操作到远程仓库

    十四返回到github制定版本

    • 查询历史对应不同版本的ID,用于回退使用
      $ git log --pretty=oneline
    • 利用查询到的历史版本ID,回复到历史版本
      $ git reset --hard fae6966548e3ae76cfa7f38a461c438cf75ba965
    • 把修改退回到远程服务器github
      $ git push -f -u origin master
    • 重新更新就可以了
      git pull
    请用今天的努力,让明天没有遗憾。
  • 相关阅读:
    Oracel基础知识
    64位系统运行32位Oracle程序解决方案
    Oracle 级联删除
    string转DateTime(时间格式转换)
    vs2013 内置IIS Express相关问题
    小马哥课堂-统计学-置信区间(2)
    小马哥课堂-统计学-置信区间
    小马哥课堂-统计学-标准误差
    小马哥课堂-统计学-中心极限定理
    python之histogram
  • 原文地址:https://www.cnblogs.com/cupid10/p/13390750.html
Copyright © 2011-2022 走看看