Git 初始化项目、创建合并分支、回滚等常用方法总结
就在刚才查看资料时候, 看见一句话, 写的特别好: 当我的才华撑不起我的梦想的时候, 应该安静下来学习
配上我最喜欢动漫的一个角色: 红莲
1. Git 初始化项目
1). 创建新的知识库
echo "# study_git" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/renfanzi/study_git.git
git push -u origin master
2). 再次提交
git add . 或者 git add test.py
git commit -m "..."
git push origin master
2. Git 创建分支
git checkout -b dev 创建dev分支, 并切换到dev分支中去
等同于:
git branch dev 创建dev 分支
git checkout dev 切换分支
git branch 查看当前分支
git branch -d dev 删除dev分支
3. Git 合并分支内容
git merge dev 命令用于合并指定分支到当前分支, 如果当前在master分支, 那么这条命令就是把dev合并到master
注意:
如果文档有冲突, 需要修正冲突以后再上传
4. Git 回滚
1). git log 命令可以帮我们查看历史记录, 查看版本号, 如果觉得太眼花缭乱, 可以加上 --pretty=oneline
===========
root@corleone:/opt/code/my_code/git_study# git log
commit 6c73f83caaefbaa7d19ca583a27cfebcd6c6f071 (HEAD -> master, origin/master)
Author: root <root@localhost.localdomain>
Date: Tue Jul :: + two commit commit ffc485e22ca1748d28d83f817cb5d8abbd7a0a5f
Author: root <root@localhost.localdomain>
Date: Tue Jul :: + first commit
===========
2). 两种方式回滚
方法1:
git reset --hard HEAD^
(在Git中,用HEAD表示当前版本,也就是最新的提交ffc485e22c...(注意我的提交ID和你的肯定不一样),
上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。)
再次查看git log
-----------------------
root@corleone:/opt/code/my_code/git_study# git log
commit ffc485e22ca1748d28d83f817cb5d8abbd7a0a5f (HEAD -> master)
Author: root <root@localhost.localdomain>
Date: Tue Jul :: + first commit
root@corleone:/opt/code/my_code/git_study#
----------------------
已经回滚到上一级了
方法2:
git reset --hard 6c73f83caa 等同于上面
3). git 回滚到以前被掩盖覆盖的版本中
方法一:
只要上面的命令行窗口还没有被关掉,你就可以顺着往上找,找到那个commit 的commit ID,于是就可以指定回到指定版本
方法二:
git reflog ---> 作用: 记录你的每一次的命令 终端返回值:
====================
root@corleone:/opt/code/my_code/git_study# git reflog
6c73f83 (HEAD -> master, origin/master) HEAD@{0}: reset: moving to 6c73f83caa
6c73f83 (HEAD -> master, origin/master) HEAD@{1}: reset: moving to 6c73f83caa
ffc485e HEAD@{2}: reset: moving to HEAD^
6c73f83 (HEAD -> master, origin/master) HEAD@{3}: commit: two commit
ffc485e HEAD@{4}: commit (initial): first commit
===================
5. 常用命令
git diff readme.md 查看文件被改变状态(以提交一次, 继续工作, 许久后忘记哪些地方修改了, 可以用这个命令)
======
root@corleone:/opt/code/my_code/git_study# git diff readme.md
diff --git a/readme.md b/readme.md
index e69de29..bca558b
--- a/readme.md
+++ b/readme.md
@@ -, +, @@
+asdfadsf
+
======
git reflog ---> 作用: 记录你的每一次的命令 git log 命令可以帮我们查看历史记录, 查看版本号 git reset --hard HEAD^
git reset --hard 6c73f83caa 等同于上面 git clone https://... 克隆项目
6. .gitignore 的作用
把要忽略的文件名填进去,Git就会自动忽略这些文件。
Git 初始化项目、创建合并分支、回滚等常用方法总结的更多相关文章
- git 远程分支回滚
git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id ...
- git 命令行(二)-创建合并分支
1. 创建和合并分支 1. 我们创建 xu 分支,然后切换到 xu 分支: 2. 用 git branch 命令查看当前分支: git branch命令会列出所有分支,当前分支前面会标一个*号. ...
- git创建/合并分支/删除分支/将修改后的内容同步到GitHub远程仓库
1.创建分支并切换到刚创建的分支(这里创建新的分支来修改README.md的内容然后将创建的分支与master分支合并,最后删除创建的分支) $ git checkout -b 分支名 Switche ...
- git本地以及远程分支回滚
转:https://www.cnblogs.com/sunny-sl/p/11236280.html 1. git本地版本回退 Git reset --hard commit_id(可用 git lo ...
- git 工作中实用合并分支
合并分支 .克隆远程分支 git clone -b dev1. url .创建本地分支,并关联远程分支 git checkout -b dev_wt orgin/dev_wt .合并某分支到当前分支 ...
- 使用Git初始化项目
1.在Git官网上点击New repository新建项目: 2.在本地新建一个同名文件: 3.打开git bash切换到新建的文件目录: 4.echo "# myprojectname&q ...
- git初始化项目 以及 git常用操作
初始化项目 $ git config --global user.name "Your Name" 配置用户名 $ git config --global user.email ...
- Git初始化项目 和 Gitignore
初始化init: git init git status git add . git commit -am "init projrct" 添加远程仓库: git remote ad ...
- git 工作实用创建删除分支
一.创建分支 .创建本地分支并切换 git checkout -b dev_wt2 .创建切换并关联远程分支 git checkout -b dev_wt3 orgin/dev_wt3 .创建远程分支 ...
随机推荐
- FLINK 设计文档
https://cwiki.apache.org/confluence/display/FLINK/Apache+Flink+Home https://cwiki.apache.org/conflue ...
- linux命令(47):Linux下对文件进行按行排序,去除重复行
Linux下对文件进行按行排序:sort 与 uniq 命令简介 Linux | May 24, 2015 | linux sort 命令可针对文本文件的内容,以行为单位进行排序.其基本语法格式为: ...
- CentOS 6.5 yum安装mysql5.6或其他版本【默认yum只能安装mysql 5.1】 by jason
by jason [备份配置文件] CentOS 6.5 默认yum只能安装mysql 5.1 安装前要检查机器原来是否安装过mysql,如有安装需要先进行数据备份.清理. [root@snails ...
- 逻辑回归(LR)和支持向量机(SVM)的区别和联系
1. 前言 在机器学习的分类问题领域中,有两个平分秋色的算法,就是逻辑回归和支持向量机,这两个算法个有千秋,在不同的问题中有不同的表现效果,下面我们就对它们的区别和联系做一个简单的总结. 2. LR和 ...
- Android GridView的使用页面按钮
GridView(网格视图),用来显示网格,用来显示一些按钮比较好用. 上代码吧. 主页面:activity_main.xml 添加一个GridView用来显示按钮的列表 <?xml versi ...
- RabbitMQ文档翻译——Work queues
原文链接:https://www.rabbitmq.com/tutorials/tutorial-two-java.html Work Queues (using the Java Client) I ...
- C#使用ActiveMQ实例
1. ActiveMQ消息总线简介 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已.主要用作不同进程.应用 ...
- C语言 · 学做菜
算法训练 学做菜 时间限制:1.0s 内存限制:256.0MB 问题描述 涛涛立志要做新好青年,他最近在学做菜.由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜,我 ...
- freemarker XMLGregorianCalendar 转日期
${m.createdate.toGregorianCalendar().getTime()?string("yyyy-MM-dd")} createdate为XMLGregori ...
- 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区
1. Get方法长度限制 Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制.这个限制是特定的浏览器及服务器对它的限制. 如:IE对URL长度的限制是20 ...