git是去中心化版本管理工具,项目创建一个远程版本,将其clone到本地,会在本地创建一个本地仓,一个开发项目,在没有网络的时候依然可以提交修改到本地仓,当有网络的时候再提交到远程仓库。git可以快速的创建分支以及切换分支。比svn创建分支快捷方便。

git 版本管理流程图

一般的git版本管理,会有三条主线(会与上图稍稍不同,主体一样),分别对应dev(开发环境)线,release(测试环境)线,master(生产环境)线。这三条线从左开始是一个项目从工程师开发----》测试人员测试---------》生产(正式环境)上线的项目流程。由这三条线分别衍生两种分支线

  feature branches: 在dev开发主线上,当需要修改或者增加新的需求的时候开一个分支,可以命名feature_bug_fix.当在这个分支开发完成,或者不需要这个分支的时候直接删除这个分支。好处:无用代码不会污染主分支,主分支线上个的的代码都是有用的代码。

  同样,release 和 master 线上的也可以创建开发分支。

现在github上面创建一个项目,复制项目的url地址

打开一个文件,输入git status 命令,发现fatal: Not a git repository (or any of the parent directories): .git 这个错误。输入 git init 初始化git

1.添加一个新的远程:git remote  add  <projectName>  <gitUrl>    projectName:项目名称  gitUrl 远程项目地址

  git remote -h :git 操作url的docs

  git remote -v :查看git远程仓

  git remote add  gitPro  :添加一个新的远程

 git remote :查看远程信息

2.git 创建分支

git branch:查看当前 远程是否有分支

git status:查看在那个分支开发

git checkout   -b <featureName> :创建分支

git checkout <featureName>:切换分支

git checkout :<featureName>: 删除分支

git merge <targetBranch>:将指定分支合并到当前分支

3.杂项

 1.git add 撤销 :git reset HEAD 撤销

 2.合并指定文件夹到某个分支:git checkout <branchName> <fileName>

 3.查看上次提交的日志:git log -p -n  n 代表次数

1.git更新某个文件夹的文件

找到要更新的文件夹-------->打开git bash here---->输入git fetch----->git merge

2.提交文件

  git add test.txt :将当前文件添加到本地仓进行管理。

  git commit -m "这是测试":将文件提交到本地仓,此时只是将文件提交到本地阿仓,并没有提交到远程仓库

  git push origin master: 将本地仓中未提交到远程仓库的文件提交到远程仓(版本控制服务器)

  

3.git 删除文件

  rm test.txt :表示从当前工作空间删除文件,并不会将本地分支删除,也不会将远程服务器删除

  若删错了文件,可以用 git checkout test.txt 从本地仓恢复

  若要真的删除,可以用 git rm test.txt 从本地仓库删除

  最后 git push origin master 将这个删除的文件提交到远程服务器

  若本地仓删除但是又想从远程仓抓取,用 git checkout HEAD -- test.txt   从远程仓抓取到本地仓和工作空间,此命令可以用作解决文件冲突

4.git查看远程仓库地址

  git remote -v:返还远程仓库地址

5.git 获取远程仓库项目

  git clone git地址:git地址是远程仓库的地址

6.查看上次提交的文件

   git  log -p -2

7.删除分支

  git branch -D <branchName>

  若报error: Cannot delete branch   则切换到其他分支再删除,你不能删除一个正在使用的分支

git介绍与使用的更多相关文章

  1. Git介绍及常用操作演示(一)--技术流ken

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  2. 第七章 : Git 介绍 (上)[Learn Android Studio 汉化教程]

    Learn Android Studio 汉化教程 [翻译]Git介绍 Git版本控制系统(VCS)快速成为Android应用程序开发以及常规的软件编程领域内的事实标准.有别于需要中心服务器支持的早期 ...

  3. 【转】Git介绍

    版本控制 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象! 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc 毕业论文_修改3. ...

  4. git介绍和常用指令

    Git介绍和常用指令 介绍:Git和SVN一样都是版本控制工具.不同的是Git是分布式的,SVN是集中式的.Git开始用可能感觉难点,等你用习惯了你就会觉得svn是有点恐怖.(如果一个项目有好多人一起 ...

  5. git介绍及安装

    git介绍 git是一个开源的分布式版本控制系统,用于敏捷高效的处理任何或大或小的项目.git是linus Torvalds为了帮助管理Linux内核开发的一个开放源码的版本控制软件. Git 与常用 ...

  6. CI 知识 :Git介绍及常用操作

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  7. Git介绍与简易搭建

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  8. Git介绍、安装、命令和实战

    一.Git介绍 Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. 二.Git安装(Mac系统) 在Git官网下载安装包双击直接安装 在终端输入git来检测Git ...

  9. git介绍-常用操作(一)

    Table of Contents 1  系列文章 2  git说明 3  git常用命令 3.1  基本操作 3.2  远程操作 4  查看git的配置 4.1  查看已配置项 4.2  其他配置 ...

  10. 版本控制工具Git介绍-01

    使用版本控制工具是为了方便团队开发,比如多人共同维护一个项目的时候,用版本控制工具可以很方便的维护项目代码,如果哪天你改了一个版本,出问题了,我们也可以很快的找到你改了什么,这里介绍使用比较多的版本控 ...

随机推荐

  1. conda安装速度慢解决办法

    注意,清华已经撤掉其ananconda源, 下面的方法已经失效,中科大源好像也不行,如果有解决办法烦请评论告诉我. conda config --add channels https://mirror ...

  2. mysql 5.5安装不对容易出现问题

    按照正常步骤安装完了mysql 5.5之后,再运行一下bin目录中的mysqlinstanceconfig.exe,重置一下密码!!!! 重置密码的地方:modify security setting ...

  3. windows 目录空格

    Window下安装Scala出现:此时不应有 \scala\bin\..\lib\jline-2.14.5.jar 原因很简单,scala默认安装到了Program Files (x86)文件夹下,目 ...

  4. socket.io中文文档

    socket.io 中文文档转载于:http://www.cnblogs.com/xiezhengcai/p/3956401.html 服务端 io.on(‘connection’,function( ...

  5. ACTION中获得数据的几种方式

    1.第一种是通过公司封装的方法. 2.第二种:是通过IF方法判断 3.第三种是通过:set/get获得

  6. python 闭包变量不允许write,要使用nonlocal

    以下是一段简单的闭包代码示例: def foo(): m=3 n=5 def bar(): a=4 return m+n+a return bar >>>bar = foo() &g ...

  7. 软件开发-MSF方法(《构建之法》读书笔记2)

    MSF-微软解决方案框架,是一套大型系统开发指南,它描述了如何用组队模型.过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参 ...

  8. 八.OC基础加强--1.autorelease的用法 2.ARC下内存管理 3.分类(category)4.block的学习

    1.autorelease的用法   1.自动释放池及autorelease介绍 (1)在iOS程序运行过程中,会创建无数个池子,这些池子都是以栈结构(先进后出)存在的. (2)当一个对象调用auto ...

  9. 洛谷P4141 消失之物——背包

    题目:https://www.luogu.org/problemnew/show/P4141 竟然是容斥:不选 i 物品只需减去选了 i 物品的方案: 范围原来是2*10^3而不是2*103啊... ...

  10. Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找

    ylbtech-Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找 1.返回顶部 1. Java 实例 - 数组排序及元素查找  Java 实例 以下实例演示 ...