zoukankan      html  css  js  c++  java
  • git介绍及常用命令

    Git简介

    1. linus 用C语言编写
    2. 2005年诞生
    3. 分布式版本管理系统
    4. 速度快,适合大规模,跨地区多人协同开发

     分布式管理

    Git 生态

    Git 分布式版本管理系统

    Gitlab git私库解决方案

    Github git公有库解决方案

    Git安装

    Centos yum install git
    Ubuntu apt-get install git
    Windows安装git bash
    Liunx编译安装 注意不要使用git1.8以下版本,推荐使用2.7版本 

    初始化

    设置与配置 git config

    git init
    git config --global user.name "warren"
    git config --global user.email warren@126.com
    git clone http://xxx.git 帮助命令git help

    四个区域

     四种状态

     常用命令

    git add 加入暂存(索引区)
    git status 查看状态
    git status -s 状态概览
    git diff 尚未暂存的文件
    git diff --staged 暂存区文件
    git commit 提交更新
    git reset 回滚
    git rm 从版本库中移除
    git rm --cached README 从暂存区中移除
    git mv 相当于mv
    git rm git add三个命令

    分支命令

    git branch 
    git branch –v
    git branch –merged
    git branch --no-merged
    git branch -d testing
    git checkout 
    git merge 
    git log 
    git stash 
    git taggit checkout 命令:用于切换分支。
    git checkout -- file.ext 撤销对文件的修改
    git reflog 命令分析你所有分支的头指针的日志来查找出你在重写历史上可能丢失的提交

    Checkout一个文件和带文件路径git reset 非常像,除了它更改的是工作目录而不是缓存区。不像提交层面的checkout命令,它不会移动HEAD引用,也就是你不会切换到别的分支上去。 如果你缓存并且提交了checkout的文件,它具备将某个文件回撤到之前版本的效果。注意它撤销了这个文件后面所有的更改,而git revert 命令只撤销某个特定提交的更改。

    git reset

    --soft 	缓存区和工作目录都不会被改变
    --mixed	默认选项。缓存区和你指定的提交同步,但工作目录不受影响
    --hard	缓存区和工作目录都同步到你指定的提交
    

    文件层操作

    当检测到文件路径时,git reset 将缓存区同步到你指定的那个提交。比如,下面这个命令会将倒数第二个提交中的foo.py加入到缓存区中,供下一个提交使用。
    git reset HEAD~2 foo.py
    运行git reset HEAD foo.py 会将当前的foo.py从缓存区中移除出去,而不会影响工作目录中对foo.py的更改。
    --soft、--mixed和--hard对文件层面的git reset毫无作用,因为缓存区中的文件一定会变化,而工作目录中的文件一定不变。
    

    使用场景

    远程仓库示意图

    远程管理命令

    git clone https://github.com/guohongze/adminset.git
    git pull
    git fetch
    git push origin master
    git remote 
    git remote –v
    git remote add xxx http://xxx
    git remote show origin
    git remote rename pb paul
    git tag -a v1.0 -m ‘abc’
    

    标签管理命令

    git tag -a v1.4 -m 'my version 1.4'
    git show v1.4
    git tag -a v1.2 9fceb02			对历史打标签
    git push origin v1.5			将标签推向远程
    git push origin --tags			推送多个标签
    git checkout -b version2 v2.0.0	检出标签
  • 相关阅读:
    OpenCV 3-1.1-头文件
    安装ROS报错:The following packages have unmet dependenctes:
    机器人学——3.3-逆运动学
    机器人学——3.2-正运动学
    机器人学——3.1-机械臂DH参数
    机器人学——2.4-坐标系的旋转和运动增量
    机器人学——2.3-姿态插值和笛卡尔运动
    面向对象
    数组
    变量总结
  • 原文地址:https://www.cnblogs.com/xiewenming/p/7346602.html
Copyright © 2011-2022 走看看