git pull和push整理和归纳

目录

    • 各个模块概念
      • 工作区
      • 版本库
      • 暂存区
      • 远程仓库
    • pull和push流程相关的命令
      • 暂存区相关
      • 版本库相关
      • 远程仓库相关
      • 利用远程仓库协作开发

各个模块概念

我的理解:
Git是版本管理工具,它主要对指定目录下的一些特定的文件的修改进行版本管理。
相关的模块有:远程仓库(Remote Repository)、版本库(Repository)、暂存区(Index)、工作区(workspace)。

网上找的图:在这里插入图片描述

工作区

我的理解:
工作区相当于指项目所在目录和目录下的所有可见文件。

版本库

我的理解:
项目所在的目录下有一个隐藏的目录 .git/ ,这部分相当于就是版本库,也叫仓库。

暂存区

我的理解:
版本库下有个index文件:.git/index ,index相当于暂存区。

远程仓库

我的理解:
远程仓库相当于一个服务器,它提供合作者通过某种协议使用指定的某个版本库,它可以是公开的,也可以是私有的。本地仓库可以通过协议对指定的远程仓库pull和push。

pull和push流程相关的命令

暂存区相关

  1. 从工作区添加文件到暂存区
git add 文件名.后缀
  1. 删除暂存区指定文件
git rm --cached 文件名.后缀
  1. 清空暂存区
//进入到“项目名”下删除
rm .git/index
  1. 查看暂存区的所有文件
git ls-files

版本库相关

  1. 在工作区目录下初始化一个空的版本库
git init
  1. 删除版本库指定文件
git rm 文件名.后缀
  1. 删除版本库(修正:清空版本库
git rm -rf .git

实际操作测试,mac上无法删除.git隐藏目录,可以删除里面的文件和目录,.git目录相当于版本库。

  1. 把暂存区文件的修改提交到版本库
git commit -m "commit注释"

远程仓库相关

  1. 把版本库与目标远程仓库建立确定的联系
git remote add origin git@github.com:用户名/项目名1.git
  1. 把版本库联系更换到另一个目标远程仓库
git remote set-url origin git@github.com:用户名/项目名2.git

利用远程仓库协作开发

  1. 创建工作区,在合适的位置新建一个文件夹,重命名成“工作目录”。

  2. 打开终端,进入到“工作目录”文件夹,输入:

git init

初始化了一个版本库。

  1. 看看本地仓库有哪些分支。
git branch

什么也没有显示。建一个分支看看。

git branch dev

【fatal信息】: Not a valid object name: ‘master’.

报错了,百度一下看看,表明:要先commit之后才会建立master分支,然后才可以建立其它分支。

commit需要有add操作,add一个点看看。

git add .

再看看有没有master分支。

git branch

显示有master分支了。

* master
  1. 建一个本地分支dev,并切换到dev上。
git checkout -b dev
  1. 把版本库与目标远程仓库建立确定的联系。
    先查看是否已建立目标远程仓库关联:
git remote -v

显示没有。add建立目标远程仓库连接。

git remote add origin git@github.com:用户名/项目名2.git
  1. 把本地分支提交到远程仓库。
git push origin dev
  1. 现在可以把项目文件从远处仓库clone下来了。
git clone git@github.com:用户名/项目名1.git
  1. 现在需要把clone下来的项目名1push到项目名2所在仓库的dev分支上。
    需要把远程的分支和本地的分支进行关联。
git branch --set-upstream-to=origin/dev dev

【提示】Branch ‘dev’ set up to track remote branch ‘dev’ from ‘origin’.
说明成功了。
建立关联后,可以使用不带参数的git pull,来拉取对应分支的项目。

  1. 先add、commit一下。
git add .*

【warning】: CRLF will be replaced by LF in serverdemo/gradlew.bat.文件需要有它原始的line ending在工作目录下。
百度一下,了解,执行:

git config --global core.autocrlf false

commit一下。

git commit -m "commit注释"
  1. 再pull一下,最后进行push。
git pull
// 加-f强制推送
git push -u origin dev -f

-u意义: upstream
第10点相当于:
git push origin dev + git branch --set-upstream-to=origin/dev dev

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/549216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重装vcenter后恢复原来制作的模板!

重新安装vcenter后发现原来用vcenter创建的模板没有了。清单中只显示现有的4台虚拟机,没有显示模板。其实找回来也很简单!在清单中找到数据存储,在相应的模板文件夹中找到的.vmtx文件添加到清单中去即可!转载于:https://blog.51ct…

Linux中点号,星号,加号,问号实战

目录Linux中的星号,点号和加号概念我的学习过程:我的思考过程:点号(.)星号(*)加号()问号(?)linux星号,点号,加号&#xf…

如何调整HOOK的跳转指令

可以按这样的方式来存放 长度A 长度A 用于调整Short JMP 用于存放一些信息 |调整后的原HOOK代码 |原始代码(HOOK) |临时LONG JMP区| 信息区| 1). 调整…

广播地址的计算方法(与运算、或运算)

目录我的学习过程Python中逻辑运算符notandor位运算符取反(~)与(&)或(|)广播地址计算方法IP地址子网掩码网络地址广播地址广播地址计算举例我的学习过程 今天学习UDP的单播、多播、广播中,…

Wt::WTreeNode

2019独角兽企业重金招聘Python工程师标准>>> A single node in a tree. 〔 这个 widget 渲染的是一棵树的一个节点。〕 A tree list is constructed by combining several tree node objects in a tree hierarchy, by passing the parent tree node as the last arg…

匿名内部类探究——它是一个实例

目录我的学习过程匿名内部类概述匿名内部类探究代码验证(匿名内部类是一个实例)结论我的学习过程 昨天想学习一下Java8新特性,看到Lambda表达式可以替代匿名内部类。我对匿名内部类不太理解,决定学习一下。并进行了下面的归纳和思…

利用SQL查找表中的质数(prime number)和完全数(perfect number)以及几个有趣的SQL语句...

之前在某次interview中被老外问到如何用SQL找出列上的质数和完全数的问题;我当时已经多年没有写过这种考算法和SQL技巧(纯粹的技巧)的语句了,乍遇此问题倒是有些棘手。现在录以记之,供人参考. SQL> create table numbers(NO int) ;表已创建…

Lambda表达式及应用

目录Lambda表达式概念应用在forEach()方法使用用来替代匿名内部类代码验证(Lambda表达式替代匿名内部类)Lambda表达式 概念 语法形式: () -> {} 组成: 括号:表示参数列表;箭头:表示lambda…

UrlRewriter 伪url的配置

UrlRewriter 是微软封装好了的一个URL重写组件。使用它可以让我节约很多自已开发的时间。 好了,开始讲述我的应用经验,这只是很菜鸟的经验,高手就不用看了。 第一步,请从此下载此组件。解压,把UrlRewriter.dll copy到你…

网络地址和广播地址的快速计算方法

目录前提条件方法原理网络地址快速计算示例广播地址快速计算示例前提条件 由IP地址和子网掩码,快速计算网络地址和广播地址。 小窍门前提:当子网掩码组成只有255和0组成时。 方法原理 利用255(或者0)和其他数字的&&#xf…

职场提醒:面试失败n次以后

投了一份简历,是中国一个很有名的医药公司的职位。面试后对方回复说,我不符合他们的要求。之前也参加过很多公司面试,结果都是说我经验不足。一次次的失败也让我对自己有了新的认识,也不断的刺激我。发现一个工作经验不足的人&…

关于list遍历时sychronizedList方法和synchronized同步块的线程安全问题思考

目录我的难点sychronizedList方法无法解决List遍历时线程不安全问题sychronizd同步块为什么可以解决List遍历时线程不安全问题我的思考过程我的难点 sychronizedList方法无法解决List遍历时线程不安全问题 关于慕课网的socket课程学习中,qiujuer老师在课程中讲到&…

WinCE CEDDK之DMA相关函数

CEDDK提供了DMA的相关函数,在CEDDK/DDK_DMA/ddk_dma.c中定义。实际上里面最有用的就两个函数,HalAllocateCommonBuffer(..)和HalFreeCommonBuffer(..)分别用于为DMA申请和释放 首先介绍一下会用到的DMA适配器结构,在ceddk.h中定义,如下: type…

Navicat中无法自定义标量值函数的问题

目录自定义标量函数代码自定义函数无法创建问题自定义标量函数代码 我的思路:我要创建一个自定义标量函数。使用软件:navicat12.1版本。点击Fx图标进行创建。代码中,使用num作为入参,根据num的大小返回颜色。num大于0返回白色&am…

把十六进制字符转换成十进制数

2019独角兽企业重金招聘Python工程师标准>>> /*** Get the hex value of a character (base16).* param c A character between 0 and 9 or between A and F or* between a and f.* return An int between 0 and 15, or -1 if c was not a hex digit.*/public stat…

明白90/10的原理吗?

什么是90/10原理?即在您的一生中,只有10的事情您无能为力,而90的事情都在您的把握之中。 我们无法阻止汽车老化出故障,我们无法预料飞机晚点,我们的行程可能被司机耽误在路上,等等,这些都是我们…

SQL Server更新某一列中多个字典码对应内容(sql示例)

目录示例-查询出多个字典码对应的内容示例-替换多个字典码对应的内容说明CHARINDEXFOR XML PATH示例-查询出多个字典码对应的内容 建立表格:学生-学习科目表student_study 注意:科目kemu列内容是字典码,需要更换成对应内容。 建立表格&…

DirectX支配游戏!历代GPU架构全解析

http://tech.163.com/digi/10/0430/08/65GM21CJ001618J7.html转载于:https://www.cnblogs.com/qilinzi/archive/2010/06/23/1940494.html

mybatisPlus中的field-strategy(字段更新插入策略):null值插入和更新问题

目录mybatisPlus中null值插入和更新问题实际项目解决方法示例一实际项目解决方法示例二field-strategy字段更新插入策略介绍枚举类FieldStrategy源码枚举类字段简介mybatisPlus中null值插入和更新问题 配置mybatisPlus的项目中,默认进行了不是全量更新的策略&#…