作为程序员怎么能不了解git命令呢,但是由于本人不常用到git命令,现在的软件上也都一体化了,能够简化命令,直接运行都可以了,完全能够去实现git上的命令,导致输入git命令完全不会,git命令能够让我们更直观的去了解它的运行机制。所以写这个博客去了解他的运行机制

在运行git的时候首先要会去克隆他的项目

$ git clone (url)

  把地址放入到url里面执行,就完成了项目克隆,这样你的本地就有了这个项目了

进入这个项目在里面进行更改,最后把项目提交到git上,就像把大象放冰箱里一样,分了三步,打开冰箱门,把大象放入冰箱,把冰箱门关上,git上要

把单个文件添加

git add <文件>

  如果要是多个文件的话直接就输入,这样就把一个项目中要修改的都文件全部添加进去了,

git add .

  接下来把添加的文件给给传到本地仓库上去

git commit -m "备注名称"

  第三步,把本地仓库的内容传到远程上去

git push

  以上内容全都是在系统默认的主分支master上面运行的,当你克隆了项目,在项目中打开命令,在命令窗口会出现

能够看到最后那个括号里面的内容,那就是分支的名称,来新建一个分支

git branch <分支名>

  我这里建了一个dev的分支,来查看下是否 创建成功(查看分支)

git branch

  看输出的结果,里面有这个分支了

接下来跳转到这个分支上来进行操作,在其中一个分支上进行操作,并不会影响其他分支的内容,这样的话,其中一个分支上线了,你在另一个分支上操作,不会影响上线的项目

git checkout dev

  看结果,它后面的分支名进行了变化,说明他已经切换到了另一个分支上来了

有个一步到位的命令,创建分支并切换到该分支下

git checkout -b <分支名>

  当你上传的这个分支没有问题了,想把它上线,只需要把在当前分支下输入想要合并的分支,进行一下替换就行了(在test分支上执行git merge dev ;test内容将会被dev替换)

git merge <分支名>

  这个分支合并完了,我不想要这个分支了,就输出下面的命令

git branch -d <分支名>

  输出的结果就是下面这样

这些只是在本地上进行创建分支,咋们最终的结果是要给它放到远程上面,就需要在远程上面去创建分支

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

  把本地分支和远程分支连接起来

git  branch  --set-upstream-to=origin/<远程分支名>  <本地分支名>

  推送分支内容,本地分支和远程分支连接起来的话,可以直接输入git push,最好是同名的,如果不同名,不确认到底能不能行

git  push  origin  <分支名>

  用下面的命令来查看远程分支信息

git  remote  /  git  remote  -v(小写)

  标签管理

在这个分支下,添加标签,标签用途来查看它的修改内容标记

git  tag  <标签名>

  如果想回退版本的话,就需要它的版本号了,想查找标签的时候并带着版本好一并查出就需要把标签和版本号一起写入

 git  tag  <标签名>  <版本号>

  用命令来查看标签的内容

 git  show  <标签名>

  删除标签名

git  tag  -d  <标签名>

  推送到远程上

git  push  origin  <标签名>  /  git  push  origin  --tags

  删除推送到远程的标签

git  push  origin  :resf/tags/<标签名>

  子模块

拉取子模块的命令,和克隆就不一样了用的是下面的命令

git submodule add url

  用上面的命令去建一个字模块就行了

以后使用的时候,子模块内容完全不用去进行更改的,上传你项目代码的时候也不会去影响它的内容(注意空的子模块是显示不出任何内容的,上传到git上,你项目里面也不会像是有这个子模块的)

如果子模块进行了更改,你只需要在本地进行一下拉取就行了

git pull

  子模块这还会有些问题,就是当你拉下子模块后,认为不对,就把这个拉取下来的模块删了,想重新拉取,就会出现警告,说这个名字的 子模块已经有了不能在拉取了。

解决办法:

  拉取子模块后生成一个这个文件,需要把里面的你拉取子模块的名字干掉,

  然后在git隐藏文件中,找到modules文件夹,删除里面对应的子模块名称文件,在config文件中删除对应子模块文件

》》》》》

  冲突  

两个人在没有拉取代码的情况下,进行推送同一个文件或代码,可能会出现一些bug问题,没有拉取传送顺序(1》2》1)就会出现代码覆盖git上面会出现警告,让你去合并代码,我当时输入合并命令没有管用,之后直接把合并请求关闭,回退了一下版本,然后拉取,在上传,结果问题就没了

git命令使用(一)的更多相关文章

  1. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  2. 工作中常用的git命令

    一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...

  3. 常用 Git 命令清单

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  4. 常look的Git命令

    常用的Git命令   命令  简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply   应用补丁 git am  应用邮件格式补丁 git a ...

  5. ***Linux下使用git命令及github项目

    在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen  ##一直默认就可以了 3.将公钥加入到Github账户 ...

  6. 我所记录的git命令(非常实用)

    一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...

  7. GIT命令行的使用

    新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...

  8. 简明 Git 命令速查表(中文版)

    原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...

  9. 常用 Git 命令清单 转

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  10. 日常开发使用GIT命令

    git是一种分布式的版本管理工具,现在我总结下日常使用的git命令 1)检出 git clone 地址 --检出代码 #这里的地址是代码池的地址,如Github或bitbucket 2)增加文件 gi ...

随机推荐

  1. bzoj 2761: [JLOI2011]不重复数字【hash】

    map会T,双hash会冲突--于是非酋写了个三hash #include<iostream> #include<cstdio> #include<cstring> ...

  2. Photoshop下载

    Adobe Photoshop,简称“PS”,是由Adobe Systems开发和发行的图像处理软件.Photoshop主要处理以像素所构成的数字图像.使用其众多的编修与绘图工具,可以有效地进行图片编 ...

  3. Hive导入10G数据的测试

    Hive导入10G数据的测试 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在VPS虚拟主机上,通过云向用户提供存储和计算的服务. 现在硬件越来越便宜,一台非 ...

  4. 用sublime text3 直接编译C/C++,java

    首先你得下载好 这是我之前安装codeblocks时留下的里面有cpp,c++,gcc,g++. 第二步就是建立环境变量 这三个配置完成就ok 了 然后进入sublime text 3中,找到工具(t ...

  5. Python基础知识(3)

    1:字符串类型转换 num = 100 num2 = " #num是整数类型的值,num2是字符串类型的值,如果把他们两个的类型转换下呢? int(num2) #int 整形成整数 str( ...

  6. div里面放img

    div里面放img的时候 会出现包裹不住的情况,这个时候 只要将img { width:100%,height:100%  },就可以解决问题了

  7. ARC 100

    链接 https://arc100.contest.atcoder.jp/ C Linear Approximation 题解 把ai减去i后排序, 我们要的b就是排完序后的中位数 Code #inc ...

  8. 与Cookie相比,Web Storage存在的优势

    与Cookie相比,Web Storage存在不少的优势,概括为以下几点:1. 存储空间更大:能提供5MB的存储空间(不同浏览器的提供的空间不同),Cookie仅4KB2. 存储内容不会发送到服务器: ...

  9. 使用VMwaver 克隆CentOS 6.9网卡配置报错

    报错信息: 克隆完成之后,使用的是NAT模式,进入系统之后有IP地址也可以ping外网,但是没有ifcfg-eth0这个文件,使用setup命令配置网卡时报以下错误: 待解决-

  10. Suricata的性能

    不多说,直接上干货! 见官网 https://suricata.readthedocs.io/en/latest/performance/index.html Docs » 7. Performanc ...