GIT :实现版本控制的软件

命令:
git init # 初始 git (先执行这个才能执行接下来的)

git status # 查看当前文件夹状态
git add 文件名 # 对指定文件进行版本控制
git add . # 对指定文件夹下的所有文件及子目录进行版本控制

git commit -m '详细的版本信息描述' # 创建提交记录(版本)

git log # 查看当前所有版本全部信息
git reflog # 查看全部版本信息(包括历史版本和现在版本)

git reset --hard # 提交记录(版本号)

git reset --hard 版本号 # 退回当前版本

git mv file_from file_to # 重命名文件

解决问题:帮助我们存储一些只开发一部分功能,或正在开发过程中的代码,就比如说正在开发一个新的功能,
但是突然之前已经上线的某个功能出BUG了,这时候就可以将当前正在开发的储存起来,然后修复BUG后再回来

解决方式1:
git stash # 将当前工作区所有修改的内容储存在"某个地方",再将工作区还原到未修改前的状态
git stach list # 查看"某个地方"储存的所有记录
git stash clear # 清空"某个地方"
git stash pop # 将第一个记录从"某个地方"重新拿到工作区(可能会冲突)
git stash apply 编号 # 将指定编号从"某个地方"重新拿到工作区(可能会冲突)
git stash drip 编号 # 删除指定编号记录

解决方式2:(使用这个)
git branch # 查看都有哪些分支
git branch dev # 创建一个分支 叫做 dev(比如这个分支里的东西是当前正在做的功能)
git branch bug # 创建一个分支 叫做 bug(比如这个分支是处理BUG用的分支)
git branch -d bug # 删除 bug 分支
git checkout dev # 跳到 dev 分支
git merge bug # 将 bug分支 和 masster分支 合并
(注:合并的时候,如果两个分支都修改了同一条数据那么会出现冲突,则需要手动去修改)

- 两台电脑的 代码上传(使用 github)

电脑1:
git remote add origin github地址 # 添加一个地址
git push origin dev # 将 dev 分支推送到 github 上

电脑2:
git clone github地址  # 克隆存放代码的地址
  - 注:在执行下一步之前 需要 cd 到当前目录
git pull origin dev # 将 github 上的代码 拉到自己当前目录下
上面这一条等价于:
git fetch origin dev # 将dev分支放到一个远程的存储地方
git merge origin/dev # 将dev分支拉到自己电脑
git rebase origin/dev# 这条命令等于 git merge origin/dev 但是不会出现分叉问题(二选一)
  - git rebase 的作用:保持提交记录的整洁

版本:
git tag -a v1.0(版本名) -m "版本介绍" # 本地创建 Tag
git show v1.0 # 查看
git tags -n # 查看本地Tag
git tag -l "v1.4.2.*" # 查看本地Tag,模糊匹配
git tag -d v1.0 # 删除Tag
git push origin :refs/tags/v0.2 # 更新远程tag
git fetch origin tag v1.2 # 切换tag

git push origin --tags # 将创建的版本推送到github
git pull origin --tags # 将创建的版本从github拉下来

git clone -b v1.0 github文件地址 # 将 v1.0的版本拉下来

Git - Q的更多相关文章

  1. IGS_学习笔记03_Integrated SOA Gateway设定配置(案例)

    20150506 Created By BaoXinjian

  2. npm遇到的问题--npm install 执行报错 /bin/git submodule update -q --init --recursive

    1.执行npm i 安装依赖时,报错:cannot read property 'match' of undefined 据说是npm本地缓存导致 解决方案: rm -rf package-lock. ...

  3. 执行git log/status等命令时,重新打开了个窗口,必须按q才能退出

    终端运行: git config --global core.pager ''

  4. Git 在团队中的最佳实践--如何正确使用Git Flow

    我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...

  5. Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

    前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...

  6. cmder git bash 使用

    cmder 是一款 windows 下的命令集合软件,它可以集合各种系统下的命令,并且操作非常快速方便. 安装有两个版本,一个是简化版(4.27M),一个是完全版(75.7M),它们的唯一区别:完全版 ...

  7. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

  8. 学习廖雪峰的git教程

    地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 1.git add:添加文件 ...

  9. git 修改最后一次提交的用户名 或者 commit的内容

    修改git最后一次提交的命令 $ git commit --amend 修改git最后一次提交用户名的相关命令 git config user.name 'wangz' git config user ...

随机推荐

  1. Python3实现自动查询成绩(主要使用的包有Tesseract-OCR、PIL、execjs、pytesseract、BeautifulSoup)

    前提:本文仅作为技术训练,不可利用技术做非法的事. 某考试的成绩查询页面如下:查询成绩需要的数据有准考证号或者身份证.考生姓名.验证码.现在使用python来实现自动查询指定人员的考试成绩(不知道准考 ...

  2. [转帖]14-使用glusterfs做持久化存储

    14-使用glusterfs做持久化存储 https://www.cnblogs.com/guigujun/p/8366558.html 使用glusterfs做持久化存储 我们复用kubernete ...

  3. [转帖]Hadoop、Hive、Spark 之间关系

    Hadoop.Hive.Spark 之间关系 https://www.cnblogs.com/jins-note/p/9513426.html 很的很诙谐有趣. 作者:Xiaoyu Ma ,大数据工程 ...

  4. Struts笔记2

    Struts2-配置文件result元素 作用:为动作指定结果视图 name属性:逻辑视图的名称,对应着动作方法的返回值.默认值是success type属性:结果类型,指的就是用什么方式转到定义的页 ...

  5. triples I(按位或运算及3的特性)(2019牛客暑期多校训练营(第四场)D)

    示例1: 输入: 2 3 7 输出: 1 32 3 6 说明:3=3, (3|6)=7 题意:输出尽可能少的数字,他们的按位或结果为输入的数字a. 题解:(表示看不懂题解,看山东大佬的代码看懂的)首先 ...

  6. 机器学习-LDA主题模型笔记

    LDA常见的应用方向: 信息提取和搜索(语义分析):文档分类/聚类.文章摘要.社区挖掘:基于内容的图像聚类.目标识别(以及其他计算机视觉应用):生物信息数据的应用; 对于朴素贝叶斯模型来说,可以胜任许 ...

  7. C++语言动态创建对象

    焦头烂额的考试月终于过去了,终于有时间能停下来思考记录一下这一个月学过的东西,首先先总结一下,在自己仿写魂斗罗游戏时遇见的问题之一,人物在移动的时候如何去判断什么时候掉入水中显示水中画面,什么时候敌人 ...

  8. C++语言类之间的关系

    在c++中通过类定义对象,而类与类之间也有着复杂的关系,所以题外话,我能理解到c++的编写者可能就想通过计算机语言去模拟世界万物之间的关系,这篇帖子主要从横向和纵向去讨论类之间关系 而在一个类中想要使 ...

  9. Kubernetes(k8s) docker 修改 /dev/shm大小

    一.问题 /dev/shm在/etc/fstab中挂载,对应tmpfs,实际使用的是内存的空间.默认情况下,/dev/shm为物理内存大小的一半. 在Kubernetes上跑docker,发现/dev ...

  10. .net framework 4.0 安装一直失败,错误代码0x80240037,解决

    本文链接:https://blog.csdn.net/Chris_Ime/article/details/81626778 今天遇到一问题,在新电脑win7系统上安装.net framework 4. ...