前言 学习git的时候,我们首先学习的是最常用的,自己独立开发Software时用的命令: git init //初始化git仓库 git add <file_name> //将文件添加到暂存区 git rm <file_name> //将暂存区的该文件删除 git commit -m "<commit info>" //将暂存区的修改提交到当前分支 git status //查看当前状态 git reset --hard <commit_id…
本章节主要介绍 git reflog 命令. Git 使用一种称为引用日志或"reflogs"的机制来跟踪分支顶端的更新. 许多 Git 命令接受用于指定引用或"ref"的参数,它是指向提交的指针. 常见的例子包括: git checkout git reset git merge Reflogs跟踪本地仓库中Git引用的更新时间.除了分支提示引用日志之外,还为Git存储维护了一个特殊的reflog.Reflogs存储在本地仓库的.git目录中.git reflog…
1. mysysgit+gitblit安装流程 1.1资源  需先下载好的资源(公司用的1.6,1.7+请自行匹配对应的mysysgit+gitblit):  jdk1.6  Git-1.8.4-preview20130916.exe  gitblit-1.2.1.rar  1.2安装  1.2.1 Git Bash安装  1)双击弹出安装页面    2)点击2次next,进入路径选择,添加自定义的路径即可:    3)点击next,进入 选择组件,    4)点击2次next 进,选择运行环境…
git reflog 和git log的区别,外加git cherry-pick的一种用法 git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录 具体一个例子,假设有三个commit, git st: commit3: add test3.c commit2: add test2.c commit1: add test1.c 如果执行git reset --hard…
转自:https://www.jianshu.com/p/3622ed542c3b 背景 git太常用了,虽然,用起来不难,但也有很多小技巧的东西... 1. 后悔药 哪天不小心,写完代码,没commit,直接reset了或者checkout了,怎么办? git reflog 会列出你的各种操作,然后git reset 到指定的节点就可以 屏幕快照 2016-05-04 下午12.20.13.png 2. bash里面显示git branch 像这样: 1.显示branch 2.增加点颜色 ch…
1.git log  log命令可以显示所有提交过的版本信息.显示信息如下: $ git log commit e1bdff6e4830e09383078c860f45334d03771b03 (HEAD -> master) Author: lyf1995 <@qq.com> Date: Sat Dec :: + 第二次提交 commit 62e67397d7891610ed7db7edab0e10619d9d8f0e Author: lyf1995 <@qq.com> D…
git log: commit 的版本日志 包含提交的版本 操作者 日期 (方便查看commit的版本,但是版本回退后,使用git log 看不到回退版本号之后的版本记录) commit ce0d69899b65fb22708f2f4ef48de11a05d0acc2Author: lowmanisbusy <910472036@qq.com>Date: Thu May 17 23:40:36 2018 +0800 a=6 commit 1a6539661ef6c37257833e702ed2…
最近做了个骚操作 git checkout commitId 修改了部分内容 git add . git commit -m '修改了些东西'   -> 此时git 会自动生成一个新的 commitId,姑且称之为 newCommitId git checkout 分支A 而我的 newCommitId 的内容并没有merge 到 分支A 上,这时候,我又想切回到 newCommitId 上,但是我又忘了 Id 内容怎么办? 如果这种情况下,使用 git log  是查找不出来的.因为没有 me…
用法 git reflog 显示整个本地仓储的commit, 包括所有branch的commit, 甚至包括已经撤销的commit, 只要HEAD发生了变化, 就会在reflog里面看得到. git log只包括当前分支的commit. git reflog --relative-date 显示相对时间的commit纪录. 讨论 每一次当前HEAD发生改变(包括切换branch, pull, 添加新commit)一个新的纪录就会被添加到reflog. 例子 运行git reflog 0a2e35…
上一篇:http://blog.csdn.net/xiaoputao0903/article/details/23933589,说了git的分支,相关的使用方法没说到可是仅仅要google就能搜出一大片,这里还有几个细节要注意一下,就是merge合并和rebase合并的差别,以及*(no branch)的处理. 1.merge 在上篇介绍分支的时候有简单的说了一下分支的创建和合并,当时合并就是写的merge,这是依据两个不同分支的最后一次提交的commit对象c5,c7和两个分支的交叉点的com…
在使用 Git 的进行代码版本控制的时候,往往会发现在 log 中出现 "Merge branch 'master' of ..." 这句话,如下图所示.日志中记录的一般为开发过程中对代码的改动信息,如果出现过多例如上述描述的信息会造成日志的污染. 阅读了一些外文的博客,下面就来一探究竟. 产生原因分析 当多人合作开发一个项目时,本地仓库落后于远程仓库是一个非常正常的事情,可参考下图. A-B-C(master) \ D(origin/master) 具体情境如下: 我当前拉取的远端版…
git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录 具体一个例子,假设有三个commit, git st: commit3: add test3.c commit2: add test2.c commit1: add test1.c 如果执行git reset --hard HEAD~1则 删除了commit3,如果发现删除错误了,需要恢复commit3,这个时候…
git branch & git remote branch $ git branch -h usage: git branch [<options>] [-r | -a] [--merged | --no-merged] or: git branch [<options>] [-l] [-f] <branch-name> [<start-point>] or: git branch [<options>] [-r] (-d | -D)…
git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git remote add origin git@server-name:path/repo-name.git git push -u origin master git push origin master 常用命令 git remote -v #显示remote的信息,见View1 git remote ad…
eclipse git 一个错误:the current branch is not configured for pull No value for key branch.xxx.merge found in configuration : 这是由于 在用gui创建分支的时候 config文件没有创建branch 在config文件加上 [branch "xxx"] remote = origin merge = refs/heads/xxx 您可以…
在开发中经常需要reset分支,如果在reset前没有记住分支指向的提交ID,想要重置回原来的提交恐怕大多数开发者是重新拉取远程版本库,再rebase分支.但如果连不上远程版本库或没有远程版本怎么办呢?git提供了一个挽救机制,git日志记录了分支的所以本地变更,通过它即可找回原来的代码. 下面我们来演示一下: 先查找本地操作日志: git reflog show dev 上图可以看到我们有个错误的reset,下面的命令即可恢复到reset前的状态: git reset --hard dev@{…
继续写一篇git的文章,介绍下git的历史和基本原理. 介绍下git的历史,据砖家考究,遥想当年,linux的创始人,牛人李纳斯,开发linux用的版本控制工具BitKeeper,出于公益或友好, 是免费的,但是李纳斯手下的几个黑客试图破解BitKeeper的协议,结果被BitKeeper公司发现,就从免费转向收费. 牛人李纳斯一努之下,两周就用C撸了一个新的版本控制系统,这就是Git. 彪悍的牛人,就是这么嚣张! 下面说下它的基本原理:(以下所有内容都可以从它官网得到:https://git-…
1.使用git reflog查看日志 2.切换到丢失的分支 3. 创建一个临时分支  如(diff),并切换到dev(原分支),然后合并diff到dev分支 4.查看状态 5.强制合并,然后提交到dev…
一开始写完程序套推送到Git中,然后就来了一下,下面的异常: 异常1 发布到远程存储库时遇到错误: Git failed with a fatal error. fatal: HttpRequestException encountered. ��������ʱ����� error: cannot spawn askpass: No such file or directory fatal: could not read Username for 'https://github.com': t…
学习了廖雪峰老师的Git教程之后的命令总结,重点关于git和远程仓库的东西. 如果没有学过,这是传送门 下面这个图很重要 一.git初始化本地仓库和配置 echo "想输入到文件的内容,一般为# 库名字" >> README.md git init  初始化一个仓库   如果没有配置需要配置 git config --list git config --global user.email "zhoudu@bupt.edu.cn" git config -…
作者:你喜欢吃青椒么 来源:juejin.im/post/5d157bf3f265da1bcc1954e6 前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下此文是为以后学习,工作,开发中如果遇到问题可以回过头来参考参考.因为水平有限,难免会有出错的地方,欢迎指正. Git是什么 官方话:Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务. 引用廖雪峰老师的话,它能自动帮我记录每次文件的改动,还可以让同事协作编辑,这…
0.本地git的安装 官网下载 1.git 配置 git config user.name  查看 用户名 git config user.email   查看 邮箱 git config --global user.name <name>  修改 用户名 git config --global user.email <email>  修改 邮箱 ssh-keygen -t rsa -C " your_email@example.com" 创建SSH key […
https://my.oschina.net/tearlight/blog/193921 <a>github的提交方式      (1)git add .--------------------存储到本地          git commit -m 'message'-------存储时的标记(修改了哪些地方,方便下次查询)          git pull------------------------下载服务器代码          git push------------------…
概述 我们已经成功的添加了一个 readme.txt文件 , 现在是时候 继续工作了 , 于是 我们开始尝试一下 Git给我们所带来的便利下面修改read.txt 改成如下内容 为了尝试 Git 给我们带来的便利 这是 第一次修改 ! 现在运行 git  status 查看 暂存去的状态 . xpower@xpower-CW65S:~/learngit$ git status 位于分支 master 尚未暂存以备提交的变更: (使用 "git add <文件>..." 更新…
在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中的一个片段,由一个被称为 HEAD 的 标记来确定(如磁带录音机或录音播放器的播放头).要在你的 Git 时间线上前后移动 HEAD ,需要使用 git checkout 命令. git checkout 命令的使用方式有两种.最常见的用途是从一个以前的提交中恢复文件,你也可以整个倒回磁带,切换到另一个分支. 恢复一…
在Git中,用HEAD表示当前版本,也就是最新的提交版本, 上一个版本就是HEAD^, 上上一个版本就是HEAD^^, 往上100个版本写100个^比较容易数不过来,所以写成HEAD~100. Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id. HEAD指向的版本就是当前版本 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本. 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本. 1.$ git log…
快速重命名文件 $ git mv README.md readme.md 使用git mv命令后直接commit即可,不再需要进行add或rm操作 查看版本历史 所有的参数都可以进行组合使用的,比如我要看前两天简洁的信息,那么使用git log --oneline -n2就可以了,这里也只说 一些用的多的参数,具体的可以使用--help命令进行查看. 查看所有信息 $ git log 查看简洁信息 $ git log --oneline 查看前几条提交历史 $ git log -n2 查看所有分…
前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windows操作系统下Git的安装步骤. 当然我也会陆续写出Linux和Mac操作系统下Git的安装步骤. 安装前的说明   Git在windows平台上安装说明. Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.目前Git已经可以在windo…
以下内容转载自:http://www.open-open.com/lib/view/open1328069988843.html 服务器上的 Git 到目前为止,你应该已经学会了使用 Git 来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git 仓库.尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度.另外,你也一定希望合作者们即使在 自己不开机的时候也能从仓库获取数据 — 拥有一个更稳定的公共仓库十分有用.因此,更好的合作方式是…
https://www.atlassian.com/git/tutorials/syncing/git-fetch Syncing svn使用单个中央库来作为开发者之间沟通的桥梁,而协同合作是通过在开发者和中央库之间传递changeset来实现的.这种情况对于GIT的协同模型是有区别的,在git下每一个开发者都拥有他们自己的整库copy.取而代之于从working copy来提交变更集到一个中央库中,git允许你在不同的repo之间分享整个分支. 下面的命令允许你管理你和其他repo之间的连接,…