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. UDP 网络程序-发送_接收数据

    """ 创建udp连接 发送数据给 """ from socket import * # 创建udp套接字,使用SOCK_DGRAM udp ...

  2. linux的软件管理的rpm包和yum配置加tar解压包和安装编译./configuer

    软件管理 rpm包  和yum 1.软件形式 Linux系统的第三方软件,无论是应用软件还是工具软件,大多以以下两种形式之一发行: 源代码形式       预编译形式 获取的源代码形式的软件,需要对其 ...

  3. 【python接口自动化】- logging日志模块

    前言:我们之前运行代码时都是将日志直接输出到控制台,而实际项目中常常需要把日志存储到文件,便于查阅,如运行时间.描述信息以及错误或者异常发生时候的特定上下文信息. logging模块介绍 ​ Pyth ...

  4. .net core MongoDB 初试

    是这样的,我们有一个场景,另一个服务器是写到MongoDB里面,我们的MVC页面要展示,需要分页展示 自己写了一个DAL public class MongoConnect { public stri ...

  5. 【BalticOI2003】Gem 题解(树形DP)

    题目大意: 给树上每一个结点赋值(值为正整数),要求相邻结点的权值不能相同.问树上最小权值和.$n\leq 10000$. ------------------------- 设$f[i][j]$表示 ...

  6. 03-Thread类中的常用方法

    Thread类中的常用的方法: * 1. start():启动当前线程:调用当前线程的run() * 2. run(): 通常需要重写Thread类中的此方法,将创建的线程要执行的操作声明在此方法中 ...

  7. wps 2011 破解版软件

    今天换了一台新电脑. wps 都没有 系统的太过忍受不了 整了一天终于是找到了一个合适安装的 想要的邮件发给我  673658917@qq.com

  8. Chrome太占内存?试试这个

    " The Great Suspender" 是一个免费的开源 Google Chrome 扩展程序,适用于那些发现chrome占用过多系统资源或经常遭受chrome崩溃的人. 一 ...

  9. python1.3集合知识点:

    #定义集合:{},集合是只有key没有value的字典,集合内元素不能重复!a={1,2,3,4,5,6}#列表转换成集合b=set([1,2,3,4,5])print(a,b) #集合对列表进行去重 ...

  10. boost之signal的使用

    文章目录 简介 代码 模板实现: 测试代码 运行结果 简介 boost是C++的一个扩展库,被称为C++准标准库,里面的组件很丰富,并且引用方便,85%的组件只需要引用头文件即可使用. 并且在嵌入式系 ...