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. the JSON object must be str, not 'bytes'

    { "ErrorDump": "the JSON object must be str, not 'bytes'", "StatusCode" ...

  2. VCL代码的一些设计手法(使用OO虚函数的技巧)

    1. 抽象类法(VCL不推荐):第一,允许创建抽象类对象,因为语法没问题,但允许其错误.第二,接口更好.第三,如果是混合抽象类,则推荐Place Holder方法2. Place Holder(占位) ...

  3. [NOI2018] 归程 可持久化并查集

    题目描述 本题的故事发生在魔力之都,在这里我们将为你介绍一些必要的设定. 魔力之都可以抽象成一个n 个节点.m 条边的无向连通图(节点的编号从 1至 n).我们依次用 l,a描述一条边的长度.海拔. ...

  4. js常用操作事件

    触发描述 方法 用法 点击 onclick="method();"   变换 onchange="testChange();"   双击 ondblclick= ...

  5. caioj1230: [图论补充]哈密顿路径

    保存模版 #include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> ...

  6. USACO35 翻转奶牛(尺取法)

    通过这道题了解了不少有关翻转的知识呢...... 首先,我们枚举翻转的区间长度k,假设i有个按钮,按下就可以让i~i+k-1翻转,那就有两个状态,按i或不按i(因为按两次相当于没按),那就往后扫一遍, ...

  7. touch all contents in a folder recursively

    https://superuser.com/questions/598163/powershell-touch-all-files-newer-than Powershell to use Unix ...

  8. YTU 2952: A代码填充--谁挡住了我

    2952: A代码填充--谁挡住了我 时间限制: 1 Sec  内存限制: 128 MB 提交: 135  解决: 38 题目描述 n个人前后站成一列,对于队列中的任意一个人,如果排在他前面的人的身高 ...

  9. C++在循环内和循环外定义变量的差异

    原文:http://blog.csdn.net/cashey1991/article/details/45127561 最后总结: 对于使用int等基本数据类型作为循环变量,只要你用的优化方面足够给力 ...

  10. I.MX6 Android stlport 使用

    /****************************************************************** * I.MX6 Android stlport 使用 * 说明: ...