就在刚才查看资料时候, 看见一句话, 写的特别好: 当我的才华撑不起我的梦想的时候, 应该安静下来学习

配上我最喜欢动漫的一个角色: 红莲

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 初始化项目、创建合并分支、回滚等常用方法总结的更多相关文章

  1. git 远程分支回滚

    git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id ...

  2. git 命令行(二)-创建合并分支

    1. 创建和合并分支 1. 我们创建 xu 分支,然后切换到 xu 分支: 2. 用 git branch 命令查看当前分支:    git branch命令会列出所有分支,当前分支前面会标一个*号. ...

  3. git创建/合并分支/删除分支/将修改后的内容同步到GitHub远程仓库

    1.创建分支并切换到刚创建的分支(这里创建新的分支来修改README.md的内容然后将创建的分支与master分支合并,最后删除创建的分支) $ git checkout -b 分支名 Switche ...

  4. git本地以及远程分支回滚

    转:https://www.cnblogs.com/sunny-sl/p/11236280.html 1. git本地版本回退 Git reset --hard commit_id(可用 git lo ...

  5. git 工作中实用合并分支

    合并分支 .克隆远程分支 git clone -b dev1. url .创建本地分支,并关联远程分支 git checkout -b dev_wt orgin/dev_wt .合并某分支到当前分支 ...

  6. 使用Git初始化项目

    1.在Git官网上点击New repository新建项目: 2.在本地新建一个同名文件: 3.打开git bash切换到新建的文件目录: 4.echo "# myprojectname&q ...

  7. git初始化项目 以及 git常用操作

    初始化项目 $ git config --global user.name "Your Name"  配置用户名 $ git config --global user.email ...

  8. Git初始化项目 和 Gitignore

    初始化init: git init git status git add . git commit -am "init projrct" 添加远程仓库: git remote ad ...

  9. git 工作实用创建删除分支

    一.创建分支 .创建本地分支并切换 git checkout -b dev_wt2 .创建切换并关联远程分支 git checkout -b dev_wt3 orgin/dev_wt3 .创建远程分支 ...

随机推荐

  1. FFmpeg(4)-使用avformat_find_stream_info()来探测获取封装格式的上下文信息

    /** * Read packets of a media file to get stream information. This * is useful for file formats with ...

  2. OpenVSwitch 硬件加速浅谈

    https://zhuanlan.zhihu.com/p/57870521 本文首发SDNLAB. 现代的虚拟化技术使得开发和部署高级网络服务变得更加简单方便.基于虚拟化的网络服务,具有多样性,低成本 ...

  3. Recommender Systems中Yehuda Koren 和 Ma Hao的paper

    以前读了Yehuda Koren和Ma Hao的论文,感觉非常不错,这里分享一下.如果想着具体了解他们近期发的论文,可以去DBLP去看看. Yehuda Koren也是Netflix Prize的冠军 ...

  4. 在XSLT中输出内容带有CDATA的XML节点

    http://www.cnblogs.com/jaxu/archive/2013/03/13/2956904.html **************************************** ...

  5. 【转】Android的root原理

    转自知乎:https://www.zhihu.com/question/21074979 @Kevin @张炬 作者:Kevin链接:https://www.zhihu.com/question/21 ...

  6. Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能

    引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注. ...

  7. 基于jQuery游戏网站焦点图轮播特效

    基于jQuery的一款游戏网站焦点图轮播特效.这是一款带进度条定时切换,带缩略图切换的jQuery网站焦点图代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <cente ...

  8. CTF中常见Web源码泄露总结

    目录00x1 .ng源码泄露 00x2  git源码泄露 00x3 .DS_Store文件泄漏 00x4 网站备份压缩文件 00x5 SVN导致文件泄露 00x6 WEB-INF/web.xml泄露  ...

  9. Android 程序drawable资源保存到data目录

    今天做了个小功能,就是把我们程序Drawable里面的图片保存到data目录下面,然后另外一个程序需要读取data目录里面保存的图片.涉及了data目录读写.这功能看上去挺简单,不过实际做的时候还是遇 ...

  10. [转]oracle制定定时任务(dbms_jobs)

    原文地址:http://www.cnblogs.com/siashan/p/4183868.html 本节摘要:本节介绍使用oracle自带的job来实现oracle定制定时执行任务.   1.引言 ...