作为程序员怎么能不了解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. Android.mk中call all-subdir-makefiles和call all-makefiles-under,$(LOCAL_PATH)的区别(转载)

    转自:http://blog.csdn.net/jackyu613/article/details/5949324 在写Android.mk文件时,call all-subdir-makefiles和 ...

  2. bzoj 1488: [HNOI2009]图的同构【polya定理+dfs】

    把连边和不连边看成黑白染色,然后就变成了 https://www.cnblogs.com/lokiii/p/10055629.html 这篇讲得好!https://blog.csdn.net/wzq_ ...

  3. IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术简介

    Cookie的英文原意是“点心”,它是在客户端访问Web服务器时,服务器在客户端硬盘上存放的信息,好像是服务器送给客户的“点心”.服务器可以根据Cookie来跟踪客户状态,这对于需要区别客户的场合(如 ...

  4. LeetCode.896-单调数组(Monotonic Array)

    这是悦乐书的第345次更新,第369篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第210题(顺位题号是896).如果数组单调递增或单调递减,则数组是单调的.如果对于所有 ...

  5. 树的直径初探+Luogu P3629 [APIO2010]巡逻【树的直径】By cellur925

    题目传送门 我们先来介绍一个概念:树的直径. 树的直径:树中最远的两个节点间的距离.(树的最长链)树的直径有两种方法,都是$O(N)$. 第一种:两遍bfs/dfs(这里写的是两遍bfs) 从任意一个 ...

  6. ubuntu 直接用软件的名字启动非apt安装的软件

    方法一: 可以在.bashrc文件中加入 alias命令,把软件的名字就等于软件执行文件的绝对路径 方法二: 在/usr/bin 目录下为执行文件创建软链接(未尝试)不过应该可以 软件自启动的方法 在 ...

  7. MYSQL性能调优与架构设计之select count(*)的思考

    select count(*)的思考 原文:MYSQL性能调优与架构设计   举例: 这里我们就拿一个看上去很简单的功能来分析一下. 需求:一个论坛帖子总量的统计 附加要求:实时更新 在很多人看来,这 ...

  8. 线段树(单点更新) HDU 1754 I Hate It

    题目传送门 /* 线段树基本功能:区间最大值,修改某个值 */ #include <cstdio> #include <cstring> #include <algori ...

  9. Java中“==”的使用,以及“==”和equal的比较

    int i02=59 ,这是一个基本类型,存储在栈中. Integer i03 =Integer.valueOf(59); 因为 IntegerCache 中已经存在此对象,所以,直接返回引用. In ...

  10. 机器学习概念之特征选择(Feature selection)之RFormula算法介绍

    不多说,直接上干货! RFormula算法介绍: RFormula通过R模型公式来选择列.支持R操作中的部分操作,包括‘~’, ‘.’, ‘:’, ‘+’以及‘-‘,基本操作如下: 1. ~分隔目标和 ...