0.在git官网上下载git对应的适配系统版本

进入到需要管理的目录,打开git终端

1.git相关的基础命令:

git init
在当前文件夹下创建一个.git的隐藏文件夹,初始化版本控制器
注:不要同一目录下多个位置初始化,他可以管理当前目录下所有文件(包括子级目录)
git status
查看Git当前状态,如:那些文件被修改过、那些文件还未提交到版本库等。
git add 文件名
将指定文件添加到版本库的暂存状态。
git commit -m '提交信息'
将暂存区的文件提交到版本库的分支。
第一次提交会要求配置email和name:
git config --local user.name 'sakura'
git config --local user.email 'you@example.com'
git log
查看提交记录,即:历史版本记录
git reset --hard 版本号
可以在log中查看版本号,并回滚到指定的版本
注:如果回滚后又想回滚到回滚之前的状态,这时候得使用git reflog,然后再git reset --hard 版本号

git revert 版本号 可以取消git log中的提交记录

2.stash

stash的应用场景:
如果在开发一个新功能时正开发了一半,发现以前的旧功能中存在bug,急需去修改bug,那么这个时候为了避免新功能造成干扰可以先将新开发的代码存储到临时文件夹中
git stash
将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
git stash list
查看“某个地方”存储的所有记录
git stash clear
清空“某个地方”
git stash pop
将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply 编号
将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop 编号
删除指定编号的记录

3.branch

branch称为分支,默认仅有一个名为master的分支。
一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支。
如果在开发的途中出现了bug,那么可以在master分支上开启一个bug分支,修复完成后使用merge来合并master与bug分支
新功能开发完成后再将dev分支与master分支进行合并
git branch 分支名称
创建分支
git checkout 分支名称
切换分支
git branch -m 分支名称
创建并切换到指定分支
git branch
查看所有分支
git branch -d 分支名称
删除分支
git merge 分支名称
将指定分支合并到当前分支
注:同样可以完成合并操作的还有rebase,它能使分支更加的简洁,美观

4.将项目上传到远程仓库

例如: github
git remote add origin(别名) https://github.com/louyifei8888/test.git
git push origin master
将本地的master分支推到github上
git push origin dev
将本地的dev分支推到github上
git clone https://github.com/louyifei8888/test.git
从github上克隆一份项目,默认获取到的只有master分支
git branch dev origin/dev
创建dev分支并导入远程origin中的dev分支同步
git pull origin dev
从远程GitHub仓库获取dev分支最新内容,并合并到本地
注:git pull origin dev 相当于执行了两步
第一步:git fetch origin
第二步:git merge origin/分支 或 git rebase origin/分支

5.协同开发的三种方式

1.项目合作者
2.创建组织,邀请成员(拥有修改组下所有项目代码的权利)
3.fork(fork到自己的仓库修改完成后new pull request,会给写项目的管理人员发送一条通知)

git命令及远程仓库操作内容整理的更多相关文章

  1. Git(进击学习:远程仓库操作)-V3.0

    1.查看当前的远程仓库:git remote或git remote -v 2.添加远程仓库:git remote add [shortname] [url] git remote add pb git ...

  2. (超详细)使用git命令行将本地仓库代码上传到github或gitlab远程仓库

    (超详细)使用git命令行将本地仓库代码上传到github或gitlab远程仓库 本地创建了一个 xcode 工程项目,现通过 命令行 将该项目上传到 github 或者 gitlab 远程仓库,具体 ...

  3. git多个远程仓库

    1. 前言   用GitHub管理自己的开源项目有几年了,最近一年更新得比较多,仓库也越来越多越来越大.有时候感觉GitHub太慢,尤其是最近感觉更为明显,于是萌生了再找个国内类似GitHub的代码托 ...

  4. git指令-添加远程仓库

    git指令-添加远程仓库 首先在GitHub上创建属于你自己的远程仓库:例如我创建的远程仓库mybatis用于我最近保存的mybatis代码 目前,在GitHub上的这个learngit仓库还是空的, ...

  5. git如何删除远程仓库的某次错误提交

    git如何删除远程仓库的某次错误提交 如果远程仓库,能ssh访问,那就跟本地没什么区别   reset命令有3种方式   git reset --mixed 此为默认方式,不带任何参数的git res ...

  6. 解决git push至远程仓库失败的问题

    产生问题的原因: 远程仓库存在本地不存在的文件, 一个常见的例子是创建repository时勾选了README.md, 但此时本地还没有这个文件, 就会导致本地文件无法同步到远程仓库的问题. 解决方法 ...

  7. [gitHub实践] git基础:远程仓库的使用

    [gitHub实践] git基础:远程仓库的使用 版权2019.6.2更新 git 基础 远程仓库的使用 git remote # 查看远程仓库 $ git remote # 克隆的仓库服务器默认名字 ...

  8. Myeclipse如何使用自带git工具向远程仓库提交代码(转)

    Myeclipse如何使用自带git工具向远程仓库提交代码 第一步:将改动的代码标记 项目右键:team->synchronize workspace 点击确定 项目右键>add to g ...

  9. git关联github远程仓库的问题

    git关联github远程仓库的时候,报fatal: remote origin already exists. 导致这个问题原因可能是之前关联的时候关联错了,再次关联就不行了. 解决办法是: 1.将 ...

随机推荐

  1. FPGA总结——杂谈

    数字设计   一.关于组合逻辑 竞争冒险:一个逻辑门的多个输入信号同时跳变(路径时延不同,使得状态改变的时刻有先有后).这种现象叫做竞争,引起的结果称为冒险. 消除毛刺(冒险):(1)增加冗余项:(2 ...

  2. static final 内部类

    1 static关键字 1.1 static关键字概述类中的属性和方法都是通过创建本类对象调用的,当在调用对象的某个方法时,这个方法没有访问到对象的特有数据时,方法创建这个对象有些多余,可是不创建对象 ...

  3. 004-mac下Java6与Java8 安装

    一.Java6安装 官方下载下载地址:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-down ...

  4. python基础之 编码进阶,文件操作和深浅copy

    1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码.即先将其他编码的字符串解码(decode)成unicode,再从unic ...

  5. python笔记-文件读写

    文件操作过程一般为:打开.读写.关闭: 打开:open()或file() 读写:read().write(): 关闭:close(): 1.打开:open()或file() file_handler= ...

  6. ORACLE中关于使用between在MyBatis中取不同的区间值和取反

    最近在项目中使用between取不同的区间值问题,由于区间跨度大,而且区间多,又是前端传过来的参数,所以使用in和exists比较麻烦.然后就考虑使用between.现将使用方法记录一下. 假如表有个 ...

  7. DAX/PowerBI系列 - 累计总计(Cumulative Total)

    DAX/PowerBI系列 - 累计总计(Cumulative Total) 2017/07/23 更新:B列公式(见最后) 难度: ★★☆☆☆(2星) 适用: ★★☆☆☆(2星) 概况: 这个模式普 ...

  8. 【C】NO.85.EBook.10.C.1.001-【C primer plus】-

    1.0.0 Summary Tittle:[C]NO.85.EBook.10.C.1.001-[C primer plus]- Style:C Series:C Since:2018-02-06 En ...

  9. Gradle引人注目的特性集

    Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML.当前其支持的语言限于Java. ...

  10. python locust 性能测试:locust参数-保证并发测试数据唯一性,循环取数据

    from locust import TaskSet, task, HttpLocustimport queue class UserBehavior(TaskSet): @task def test ...