Git - Q
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的更多相关文章
- IGS_学习笔记03_Integrated SOA Gateway设定配置(案例)
20150506 Created By BaoXinjian
- npm遇到的问题--npm install 执行报错 /bin/git submodule update -q --init --recursive
1.执行npm i 安装依赖时,报错:cannot read property 'match' of undefined 据说是npm本地缓存导致 解决方案: rm -rf package-lock. ...
- 执行git log/status等命令时,重新打开了个窗口,必须按q才能退出
终端运行: git config --global core.pager ''
- Git 在团队中的最佳实践--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...
- Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
- cmder git bash 使用
cmder 是一款 windows 下的命令集合软件,它可以集合各种系统下的命令,并且操作非常快速方便. 安装有两个版本,一个是简化版(4.27M),一个是完全版(75.7M),它们的唯一区别:完全版 ...
- Git 常用命令
一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...
- 学习廖雪峰的git教程
地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 1.git add:添加文件 ...
- git 修改最后一次提交的用户名 或者 commit的内容
修改git最后一次提交的命令 $ git commit --amend 修改git最后一次提交用户名的相关命令 git config user.name 'wangz' git config user ...
随机推荐
- cuda-convnet在Ubuntu12.04+CUDA5.5下的配置
deep learning近年来非常之火,尤其是在IMAGENET上的识别效果更是惊呆了小伙伴,其所用的Hinton的学生编写的cuda-convet代码早已公开,但是一直没有时间去仔细研究,最近趁着 ...
- LeetCode 792. 匹配子序列的单词数(Number of Matching Subsequences)
792. 匹配子序列的单词数 792. Number of Matching Subsequences 相似题目 392. 判断子序列
- React项目使用Redux
⒈创建React项目 初始化一个React项目(TypeScript环境) ⒉React集成React-Router React项目使用React-Router ⒊React集成Redux Redux ...
- CTeX error saving the project file
「Options -> ConfigurationWizard -> User Profiles > 点击 Create/Update User Profile 按钮」 重启WinE ...
- 字典的学习3——嵌套——Python编程从入门到实践
嵌套 ? 一系列字典存储在列表or列表作为值存储在字典or字典中套字典 1. 字典列表 alien_0 = {'color': 'green', 'points': 5} alien_1 = {'co ...
- NodeJS的环境搭建+传统ELmentui+vue开发
ElementUI简介 我们学习VUE,知道它的核心思想式组件和数据驱动,但是每一个组件都需要自己编写模板,样式,添加事件,数据等是非常麻烦的, 所以饿了吗推出了基于VUE2.0的组件库,它的名称叫做 ...
- jdk8新特性--使用lambda表达式的延迟执行特性优化性能
使用lambda表达式的延迟加载特性对代码进行优化:
- 1byte、1KB、4KB,1MB、1GB用16进制表示的范围。任意地址范围求字节数
1byte.1KB.4KB,1MB.1GB用16进制表示的范围.任意地址范围求字节数 2018-02-12 18:27:48 望那伊人 阅读数 5032更多 分类专栏: 计算机相关 版权声明:本文 ...
- Java CountDownLatch应用
Java的concurrent包里面的CountDownLatch其实可以把它看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数 ...
- springboot之手动控制事务
一.事务的重要性,相信在实际开发过程中,都有很深的了解了.但是存在一个问题我们经常在开发的时候一般情况下都是用的注解的方式来进行事务的控制,说白了基于spring的7种事务控制方式来进行事务的之间的协 ...