作为程序员怎么能不了解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. web前端图片预加载

    是什么? 浏览器会缓存静态资源(hmtl/css/img等).图片预加载就是让浏览器提前缓存图片,提升用户体验. 浏览器什么情况下会下载图片? 1,解析到html中img的src属性的时候 2,解析到 ...

  2. CentOS7下如何正确安装并启动Docker(图文详解)

    我使用了CentOS 7操作系统,可以非常容易地安装Docker环境.假设,下面我们都是用root用户进行操作,执行如下命令进行准备工作: yum install -y yum-utils yum-c ...

  3. only-child选择器

    :only-child选择器用于匹配属于某一个父元素的唯一子元素的元素,也就是说,如果某个父元素仅有一个子元素,则使用  :only-chlid选择器  ,可以选择这个子元素

  4. Python标准库 datetime

    >>> import datetime >>> now = datetime.datetime.now() >>> now datetime.da ...

  5. POJ1961(kmp中Next数组的性质)

    对于某个位置i,i - Next[i]是循环节长度,i整除(i - Next[i])时是完整的几个循环元. ; int n, kase, Next[maxn]; char ch[maxn]; inli ...

  6. Reference for shell scripting

    ${var} 和 $var的区别 http://stackoverflow.com/questions/8748831/when-do-we-need-curly-braces-in-variable ...

  7. hdu 2604 Queuing dp找规律 然后矩阵快速幂。坑!!

    http://acm.hdu.edu.cn/showproblem.php?pid=2604 这题居然O(9 * L)的dp过不了,TLE,  更重要的是找出规律后,O(n)递推也过不了,TLE,一定 ...

  8. git push时报错filename too long的解决

    命令行输入:git config core.longpaths true 之后再进行 git 的push命令

  9. Nagios的服务器监控

    第一部分是主机外监控,比如:主机是否存活,WEB服务是否正常,MySQL服务是否正常等内容,再主机外通过访问其端口即可得知.这些监控命令再安装nagios-plugins-1.4.13.tar.gz时 ...

  10. 在docker容器中运行hello world!

    在docker容器中运行hello world! docker容器可以理解为在沙盒中运行的进程.这个沙盒包含了该进程运行所必须的资源,包括文件系统.系统类库.shell 环境等等.但这个沙盒默认是不会 ...