git

git 是一个版本管理系统(VCS),可以在任何时间点,将文档的状态作为一份更新记录保存起来,并且在任意的时间点,恢复更新记录

版本管理

版本管理是一种记录文件变化的方式,方便查阅特定版本号的文件内容

人为维护文档版本问题

1、文档数量紊多,命名不清晰,导致文档版本混乱
2、每次编译文档需要赋值,不方便
3、多人同时编辑一个文档,容易产生覆盖

git使用

在使用git前,需要全局配置git

  • 提交用户名 - git config --global user.name “用户名”
  • 提交邮箱 - git config --gllobal user.email “邮箱”

**注:全局配置只执行一次,若需要修改,重复上述命令

git提交命令

  • git init 初始化git仓库

  • git status 查看文件状态

  • git add . 提交新增文件内容

  • git commit -m “commit” 提交文件说明

  • git log 查看提交记录

  • git remote add origin https://gitee.com/xxxx/xxxxx.git 与远程仓库关联

  • git push -u origin master 把本地分支推送到远程

  • git clone https://gitee.com/xxxx/xxxxx.git 下载远程master分支(克隆)

  • git pull --rebase origin master 获取远程库与本地同步合并(远程仓库不为空)

  • git remote remove origin 断开远程库与本地间的连接

  • 在git bash中移除本地与git之间的连接
    find . -name “.git” | xargs rm -Rf 移除本地与git之间的连接

git分支

分支是当前工作目录中代码的一份副本,使用分支,可以让我们从开发支线上分离出来,以免影响开发主线

查看分支

  • git branch 查看本地分支
  • git branch -a 查看所有分支(本地与远程)
  • git branch -r 查看远程分支
  • git branch -vv 查看本地分支与远程分支之间的关联关系

分支命令

  • git branch 分支名/develop 创建新的分支
  • git checkout 分支名/develop 切换分支(在暂存区中覆盖原工作目录中的分支)
  • git rm --cached 分支名/develop 从暂存区删除分支
  • git branch -d 分支名 删除分支(分支被合并后才允许删除)/(-D强制删除)
  • git merge 来源分支 合并分支
  • git rest --hard commitID 从git仓库中将指定的更新记录恢复出来,覆盖暂存区和工作区

主分支(master) 第一次向git仓库中提交更新是自动产生的分支

开发分支(develop) 作为开发的分享,是基于master分支创建的

功能分支(feature) 作为开发具体功能的分支,基于开发分支创建

分支间的关系
功能分支 -> 开发分支 -> 主分支

暂时保存更改

提取分支上所有的改动并且存储起来,可以让开发人员有一个干净的工作副本,临时去网其他工作

应用场景:分支临时切换
*存储临时改动:git stash
*恢复改动:git stash pop

git远程分支

拉取远程git仓库里的指定分支到本地(本地不存在的分支)

  • git checkout -b 本地分支 origin/远程分支 拉取远程里的分支(本地不存在)
  • git checkout 分支名 切换分支

若出现提示:

fatal: Cannot update paths and switch to branch ‘远程分支’ at the same
time. Did you intend to checkout ‘origin/远程分支’ which can not be
resolved as commit?

表示拉取不成功

则需要先执行

  • git fetch

在执行

  • git checkout -b 本地分支名 origin/远程分支名

本地检出新分支并推送到远程

  • git checkout -b develop 分支名 创建并切换本地分支
    *[相当于 git branch dev //创建分支
    git checkout dev //选择分支
    ]
  • 该分支是从当前分支检出的,所以文件内容与当前分支一样
  • git branch origin develop 创建远程分支
  • git push --set-upstream origin 分支名 推送本地分支到远程仓库

如果远程分支已存在,就在创建本地分支时与其关联

  • git checkout -b 本地分支 origin/远程分支

合并分支

切回master

  • git checkout master
  • git merge 本地分支 合并分支
  • git push origin master 推送

删除分支

  • git branch -d dev //删除本地分支

  • git push origin -d dev //删除远程分支

git使用小结(本地分支与远程分支、git命令)的更多相关文章

  1. Git 操作本地分支与远程分支

    1 查看本地分支 git branch 2 查看远程分支 git branch -a 3 新建远程分支 git checkout -b developr git push origin develop ...

  2. git 本地分支与远程分支

    github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...

  3. git 本地分支与远程分支关联的一种方法

    github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...

  4. Git新建本地分支与远程分支关联问题:git branch --set-upstream

    Git新建本地分支与远程分支关联问题:git branch --set-upstream git在本地新建分支, push到remote服务器上之后,再次pull下来的时候,如果不做处理会报以下提示: ...

  5. git本地分支与远程分支

    github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...

  6. git 创建本地分支与远程分支

    早上抽空整理了下git常用操作,偶尔看看加深下印象吧: 如果github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pu ...

  7. 删除本地git的远程分支和远程删除git服务器的分支【转】

    转- 删除本地git的远程分支和远程删除git服务器的分支 在项目中使用git管理代码后,有些时候会创建很多不同名称的分支,以此区分各个分支代码功能. 而随着代码的合并,以前的分支就可能不再需要保存了 ...

  8. [Git] 将本地分支与远程分支关联

    . . . . . 在本地工程中添加Git,并将其与远程的空库关联起来,只需如下几步. 1. 创建空库 $ git init Initialized empty Git repository in D ...

  9. git 本地分支和远程分支改名字

    1.将本地分支进行改名: git branch -m old_branch new_branch 2.将本地分支的远程分支删除: git push origin :old_branch 3.将改名后的 ...

随机推荐

  1. Day01_企业权限管理(SSM整合)

    学于黑马程序员和传智播客联合做的教学项目 感谢 黑马程序员官网 传智播客官网 个人根据教程的每天的工作进度的代码和资料 密码:cti5 b站在线视频 微信搜索"艺术行者",关注并回 ...

  2. PHP date_offset_get() 函数

    ------------恢复内容开始------------ 实例 返回奥斯陆(在欧洲挪威)冬天和夏天相对于 UTC 的以秒计的时区偏移量: <?php$winter=date_create(& ...

  3. PHP preg_last_error() 函数

    preg_last_error 函数用于返回最后一个 PCRE 正则执行产生的错误代码.高佣联盟 www.cgewang.com 语法 int preg_last_error ( void ) 实例 ...

  4. darkbzoj #3759. Hungergame 博弈论 线性基 NIM

    LINK:Hungergame 放上一道简单题 复习一下. 考虑每次可以打开任意多个盒子 如果全打开了 那么就是一个NIM游戏了. 如果发现局面是异或为0的时候此时先手必胜了. 考虑局面不全体异或为0 ...

  5. 2020牛客暑期多校训练营 第二场 A All with Pairs 字符串hash KMP

    LINK:All with Pairs 那天下午打这个东西的时候状态极差 推这个东西都推了1个多小时 (比赛是中午考试的我很困 没睡觉直接开肝果然不爽 一开始看错匹配的位置了 以为是\(1-l\)和\ ...

  6. UOJ #310 黎明前的巧克力 FWT dp

    LINK:黎明前的巧克力 我发现 很多难的FWT的题 都和方程有关. 上次那个西行寺无余涅槃 也是各种解方程...(不过这个题至今还未理解. 考虑dp 容易想到f[i][j][k]表示 第一个人得到巧 ...

  7. CI4框架应用三 - app目录

    我们再来看一下项目的app目录结构,这个目录就是我们开发的主目录,项目的配置,代码的编写都在这个目录中. Administrator@PC- MINGW64 /c/wamp64/www/ci4/app ...

  8. 001_记一次ansible api二次开发遇到的小问题

    在某次关于发布系统的项目中,需要调用ansible来发布任务,其中一段代码是初始化ansible的连接,并传入一个source(目标机器)的值,代码段如下: from .ansible_api imp ...

  9. 003_对go语言中的工作池代码练习的一些思考和改进

    在进行工作池的代码练习时候,我发现了一个有趣的事情,首先看下面一段代码: package main import "fmt" import "time" fun ...

  10. 牛逼!Python的判断、循环和各种表达式(长文系列第2篇

    流程控制是python语法很重要的一个分支,主要包括我们经常用到的判断语句.循环语句以及各种表达式,这也是上一篇文章没有介绍表达式的原因,在这篇文章中会更加系统全面的讲解这三方面的基础知识. 很多人学 ...