Git详解之六

合集下载

git命令详解

git命令详解

一、Git 常用命令速查git branch 查看本地所有分支git status 查看当前状态git commit 提交git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释git remote add origin git@192.168.1.119:ndshowgit push origin master将文件给推到服务器上git remote show origin 显示远程库origin里的资源git push origin master:developgit push origin master:hb-dev 将本地库与服务器上的库进行关联git checkout --track origin/dev 切换到远程dev分支git branch -D master develop 删除本地库developgit checkout -b dev 建立一个新的本地分支devgit merge origin/dev 将分支dev与当前分支进行合并git checkout dev 切换到本地dev分支git remote show 查看远程库git add .git rm 文件名(包括路径) 从git中删除指定文件git clone git:///schacon/grit.git 从服务器上将代码给拉下来git config --list 看所有用户git ls-files 看已经被提交的git rm [file name] 删除一个文件git commit -a 提交当前repos的所有的改变git add [file name] 添加一个文件到git indexgit commit -v 当你用-v参数的时候可以看commit的差异git commit -m "This is the message describing the commit" 添加commit信息git commit -a -a是代表add,把所有的change加到git index里然后再commit git commit -a -v 一般提交命令git log 看你commit的日志git diff 查看尚未暂存的更新git rm a.a 移除文件(从暂存区和工作区中删除)git rm --cached a.a 移除文件(只从暂存区中删除)git commit -m "remove" 移除文件(从Git中删除)git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除)git diff --cached 或$ git diff --staged 查看尚未提交的更新git stash push 将文件给push到一个临时空间中git stash pop 将文件从临时空间pop下来---------------------------------------------------------git remote add origin git@:username/Hello-World.gitgit push origin master 将本地项目给提交到服务器中-----------------------------------------------------------git pull 本地与服务器端同步-----------------------------------------------------------------git push (远程仓库名) (分支名) 将本地分支推送到服务器上去。

git常用的六个命令

git常用的六个命令

git常用的六个命令
一、git init命令是git常用的基本命令之一,通过该命令可以在当前目录下生成一个新的git的仓库,用于存储你的所有项目文件。

二、git add是git常用的命令之一,通过Git add .或者add后紧跟文件路径,将工作空间的修改添加到暂存区,添加到暂存区的文件,待后面的commit。

三、git commit是git中的常用命令,当我们想要提交更改到仓库时就需要使用此命令,同时也可以了解到每一次更改的内容。

通过git commit -m “说明”,就可以将暂存区里的所有内容提交到仓库里。

四、git status命令可以使我们了解到当前仓库的状况,例如有哪些修改被加入到了暂存区,哪些修改被提交了等等。

在进行git操作时,我们经常会使用到这个命令。

五、git log是git常用命令之一,我们使用这个命令就可以查看所有已经提交的版本信息。

git log命令可以看到我们仓库提交过的所有的历史记录,可以了解到每一次提交的作者,提交时间,以及提交的修改内容等信息。

六、git clone是git中的一项非常重要的功能,使用这个命令,你可以将已经存在的一个项目拷贝下来,并且这个目录独立于原有的仓库。

这样可以让你在本地独自开发自己的项目,而不会影响到原有的项目。

总的来说,git init、git add、git commit、git status、git log以及git clone都是git中最常用,也是最重要的六个命令之一。

他们在我们日常的项目开发中发挥着非常大的作用,熟练掌握这六个命令对于我们使用git进行版本控制是非常有帮助的。

Git详解和Github的使用

Git详解和Github的使用

Git详解和Github的使⽤Git和Github的概念: Git是分布式版本管理系统,简单说就是⼀个软件,⽤于记录⼀个或若⼲⽂件内容变化,以便将来查阅特定版本修订情况的软件。

Github是⼀个为⽤户提供Git服务的⽹站,简单说就是⼀个可以放代码或⽂件的地⽅,Github除了提供管理Git的web界⾯外,还提供订阅,关注,讨论组,在线编辑器等丰富功能。

Git的下载和Github账号的注册:Git的⼯作流程:Git本地仓库操作: 1.⾸次使⽤需进⾏全局配置: 配置⽤户名:git config --global "⽤户名"; 配置⽤户邮箱:git config --global user.email "邮箱";(这⾥使⽤Github的⽤户名和邮箱) 2.创建⽬录命令:两种创建⽅式:①mkdir ⽂件名②windows下右键创建⽂件夹 3.① cd flask_blog(进⼊项⽬⽬录) ② git init 初始化 进⼊⽬录flask_blog,勾选隐藏的项⽬,即可显⽰ ③git status,查询当前⼯作区所有⽂件的状态; nothing to commit (create/copy files and use "git add" to track)当前没有进⾏任何提交,可以创建或者复制⽂件,并使⽤"git add"命令进⾏跟踪 ④那么我们当前应该新建⽂件在所创建的flask_blog⽬录下,然后 git add指令可将⽂件添加到缓存区 提交的⽅式有三类: 语法1:git add ⽂件名 语法2:git add ⽂件1 ⽂件名2 ⽂件名3.... 语法3:git add. 【添加当前⽬录到缓存区】 这⾥就使⽤git add readme.txt的⽅式添加到缓存区 ⑤提交过后,使⽤git status 查看当前⽂件状态 这⾥提⽰我们可以利⽤git rm --cached <file>指令清除⽂件,但我们不需要这样做 ⑥接下来可以利⽤: git commit -m "注释内容" 指令将缓存区的⽂件提交⾄版本库 ⑦下⾯我们可以进⾏版本回退的操作 我再新建⼀个⽂件提交到版本库,⽂件名为index1.py 重复上述操作⑴git add index1.py ⑵git commit -m "新建⽂件index1.py" 查看版本命令:⑴ git log ⑵git log --pretty=oneline 两种⽅式不同的显⽰⽇志的⽅式,⼀般使⽤第⼆种,清晰明了。

Git学习文档

Git学习文档

Git学习⽂档#########################################################Study Document for Git#########################################################Git 基础Git ⽂件的三种状态:已提交(committed)、已修改(modified)和已暂存(staged)。

Git ⼯作⽬录的状态:已跟踪和未跟踪。

已提交表⽰数据已经安全的保存在本地数据库中。

已修改表⽰修改了⽂件,但还没保存到数据库中。

已暂存表⽰对⼀个已修改⽂件的当前版本做了标记,使之包含在下次提交的快照中。

基本的 Git ⼯作流程如下:1. 在⼯作⽬录中修改⽂件。

2. 暂存⽂件,将⽂件的快照放⼊暂存区域。

3. 提交更新,找到暂存区域的⽂件,将快照永久性存储到 Git 仓库⽬录。

Git 语法设置 Git 的配置git config --listgit config --global ***git config --global user.email @.comgit helpgit help verbgit verb --help克隆远端仓库git clone url检查当前⽂件状态git status列出当前分⽀和⽂件的状态:已跟踪/未跟踪。

[***@*** deployment]$ git status# On branch master# Untracked files:# (use "git add <file>..." to include in what will be committed)## test.mdnothing added to commit but untracked files present (use "git add" to track)跟踪新⽂件git add file[***@*** deployment]$ git add test.md[***@*** deployment]$ git status# On branch master# Changes to be committed:# (use "git reset HEAD file..." to unstage)## new file: test.md#Changes to be committed: 已暂存状态。

git的基本操作

git的基本操作

git的基本操作Git是一个非常流行的版本控制系统,它被广泛用于开发人员之间的协作和版本管理。

本文将介绍Git的基本操作,包括如何创建新仓库、如何添加文件、如何提交更改、如何分支和合并等。

一、创建新仓库在使用Git之前,首先需要创建一个新的仓库。

可以在本地计算机上创建一个新的仓库,也可以在GitHub等在线仓库托管服务上创建一个新的仓库。

下面是在本地计算机上创建新仓库的步骤:1. 打开终端或命令行工具,进入要创建仓库的目录。

2. 输入以下命令创建一个新的Git仓库:```git init```3. 如果一切正常,Git将会在当前目录下创建一个名为“.git”的隐藏文件夹,这个文件夹包含了Git仓库的所有信息和配置。

二、添加文件在Git仓库中添加文件非常简单,只需要将要添加的文件放到仓库目录下,然后使用以下命令将其添加到Git仓库中:```git add <filename>```如果要添加多个文件,可以使用通配符:```git add *```三、提交更改在将文件添加到Git仓库后,需要将这些更改提交到仓库中。

提交更改的步骤如下:1. 使用以下命令将更改添加到本地仓库:```git commit -m 'commit message'```2. “commit message”是提交时的注释,可以简要描述所做的更改。

四、分支和合并Git的一个重要功能是能够创建和管理分支。

分支是指从主分支(通常是master分支)中创建的一个独立的代码副本。

在分支中进行的更改不会影响主分支,这使得开发人员可以在不破坏主分支的情况下进行实验和开发。

1. 创建分支使用以下命令可以创建一个新的分支:```git branch <branchname>```“branchname”是新分支的名称。

2. 切换分支使用以下命令可以切换到一个已经存在的分支: ```git checkout <branchname>```3. 合并分支使用以下命令可以将一个分支合并到当前分支中: ```git merge <branchname>```“branchname”是要合并的分支的名称。

Git操作详解

Git操作详解

Git操作详解,学会Git⼏乎成了开发者的必备技能。

是⽬前最流⾏的,学会是⽬前最流⾏的Git有很多优势,其中之⼀就是远程操作⾮常简便。

本⽂详细介绍5个Git命令,它们的概念和⽤法,理解了这些内容,你就会完全掌握Git远程操作。

git clonegit remotegit fetchgit pullgit push本⽂针对初级⽤户,从最简单的讲起,但是需要读者对Git的基本⽤法有所了解。

同时,本⽂覆盖了上⾯5个命令的⼏乎所有的常⽤⽤法,所以对于熟练⽤户也有参考价值。

⼀、git clone远程操作的第⼀步,通常是从远程主机克隆⼀个版本库,这时就要⽤到git clone命令。

$ git clone <版本库的⽹址>⽐如,克隆jQuery的版本库。

$ git clone https:///jquery/jquery.git该命令会在本地主机⽣成⼀个⽬录,与远程主机的版本库同名。

如果要指定不同的⽬录名,可以将⽬录名作为git clone命令的第⼆个参数。

$ git clone <版本库的⽹址> <本地⽬录名>git clone⽀持多种协议,除了HTTP(s)以外,还⽀持SSH、Git、本地⽂件协议等,下⾯是⼀些例⼦。

$ git clone http[s]:///path/to/repo.git/$ git clone ssh:///path/to/repo.git/$ git clone git:///path/to/repo.git/$ git clone /opt/git/project.git$ git clone file:///opt/git/project.git$ git clone ftp[s]:///path/to/repo.git/$ git clone rsync:///path/to/repo.git/SSH协议还有另⼀种写法。

$ git clone [user@]:path/to/repo.git/通常来说,Git协议下载速度最快,SSH协议⽤于需要⽤户认证的场合。

《git基础知识》PPT课件

《git基础知识》PPT课件

精选PPT
14
由 git 帐号来统一管理
在ssh clien端,产生ssh clien端用户的公钥 保存在服务器上 git 用户的authorized_keys 文件中
创建ssh客户端liuxiaotao用户的公钥 su qi_jl ssh-keygen 得到 /home/qi_jl/.ssh/ id_rsa.pub
服务器分支操作
git clone ssh://git@192.168.1.3:5091/repository/cultraview/ctv-launcher/launcher4.2-old.git/
精选PPT
11
四. git 常见使用场景
git 和 repo 啥关系?
如何通过repo下载android源代码? 如何通过repo创建android的源代码server?
精选PPT
3
精选PPT
4
Git比SVN有什么优势
上传下载的速度比svn快得多( 异地协同工作。(如:不用联网也历史记录) 现场版本控制。( 更好用的提交列表。 更好的差异比较。 工作进度保存。 作为SVN前端实现移动办公。 无处不在的分页器。
精选PPT
5
精选PPT
repository
13
五. git 库的权限问题
Git 架设
使用 HTTP 就是走 Web server 的权限,
走 SSH 就是取决于各个帐号的权限. (Git 的 object 目录里面会有权 限问题)
若多人共用的话, 要走 SSH 有下述几种方法:
1. 建立新帐号(git), 由 git 帐号来统一管理(commit / push) 等操作
戚景亮—2015.1. 6

VSCode编辑器的Git集成功能详解

VSCode编辑器的Git集成功能详解

VSCode编辑器的Git集成功能详解Git是一种分布式版本控制系统,它能够有效地管理和追踪代码仓库的变更。

在软件开发和团队协作中,Git起着至关重要的作用。

为了提高开发效率和简化版本控制的操作,VSCode编辑器在其功能中集成了Git工具,提供了便捷的代码管理和协作解决方案。

一、安装并配置Git在使用VSCode的Git功能之前,首先需要安装并配置Git环境。

在Windows系统中,可以通过官方网站下载并安装Git。

安装完成后,在VSCode中打开终端(Terminal)面板,执行`git --version`命令,若能正确显示Git的版本号,则说明安装成功。

配置Git的用户名和邮箱是为了在版本控制和协作时能够正确标识作者。

通过在终端中执行以下命令进行配置:```git config --global "Your Name"gitconfig--globaluser.email"**************"```二、初始化代码仓库在使用VSCode的Git功能前,需要先将项目代码初始化为一个Git 仓库。

在VSCode中,可以通过终端面板或者命令面板(Ctrl + Shift + P)来执行Git相关命令。

在项目根目录下执行以下命令进行初始化:```git init```三、提交和管理代码变更在VSCode编辑器中,我们可以通过Git面板来进行代码的提交和管理。

通过快捷键Ctrl + Shift + G或者点击左侧活动栏中的Git图标,即可打开Git面板。

1. 查看代码变更在Git面板中,我们可以方便地查看代码的变更情况。

通过点击面板顶部的“更改”按钮,即可查看当前文件与上一次提交的差异。

2. 文件暂存和提交在Git面板中,我们可以选择要暂存的文件和提交的文件,对代码进行分批次的管理。

点击某个文件的“+”按钮,即可将文件暂存起来。

暂存的文件将显示在面板的“已暂存更改”列表中。

Git客户端(TortoiseGit)基本使用详解

Git客户端(TortoiseGit)基本使用详解

Git客户端(TortoiseGit)基本使⽤详解1、环境安装安装的⽅法,⼀直下⼀步就⾏,具体做法省略。

2、配置 1、⾸先,请选定⼀个存放Git项⽬的⽬录,这样管理⽅便. 如: D:\test , 然后在资源管理器中打开。

 2、在空⽩处点击⿏标右键,可以看到右键菜单中多了⼏个选项。

选择 --> TortoiseGit --> Settings,然后就可以看到配置界⾯。

 3、点击General进⾏简单配置。

Language可以切换语⾔(楼主⽐较习惯英⽂)。

不勾选⾃动升级的复选框。

可能还需要指定 Git.exe ⽂件的路径,如 "D:\DevlopPrograms\Git\bin"。

完成后,点击应⽤,确定关闭对话框。

如下所⽰:4、配置右键菜单.。

在设置对话框中,点选左边的"Context Menu",设置常⽤的右键菜单。

楼主⽐较常⽤的是如下选项:5、设置记住密码 密码会明⽂保存在 C:\Users\Administrator\.git-credentials 这种⽂件中, 请⼩⼼使⽤. 进⼊设置, 点选左边的Git标签.可以发现,右边可以配置⽤户的名字与Email信息. 如下图所⽰:因为当前还没有本地项⽬,所以 “Edit local .git/config(L)” 按钮处于灰⾊不可⽤状态,如果在某个本地Git项⽬下打开配置对话框,那么这个按钮就可⽤,然后就可以编辑此项⽬的⼀些属性。

点击 “Edit global .git/config(O)”按钮,会使⽤记事本打开全局配置⽂件,在全局配置⽂件中,在后⾯加上下⾯的内容:[credential]helper = store 完成后保存,关闭记事本,确定即可。

当你推送项⽬到GitHub等在线仓库时,会记住你输⼊的⽤户名和密码3、⽰例1. 克隆⼀个项⽬(楼主是从github上获取) 在⼯作⽬录下,如D:\test,空⽩处右键,选择: Git clone,则会弹出克隆对话框,如下图所⽰: 根据项⽬⼤⼩,时间会不⼀样。

Git的原理简介和常用命令

Git的原理简介和常用命令

Git的原理简介和常⽤命令Git和SVN是我们最常⽤的版本控制系(Version Control System, VCS),当然,除了这⼆者之外还有许多其他的VCS,例如早期的CVS 等。

顾名思义,版本控制系统主要就是控制、协调各个版本的⽂档内容的⼀致性,这些⽂档包括但不限于代码⽂件、图⽚⽂件等等。

早期SVN占据了绝⼤部分市场,⽽后来随着Git的出现,越来越多的⼈选择将它作为版本控制⼯具,社区也越来越强⼤。

相较于SVN,最核⼼的区别是Git是分布式的VCS,简⽽⾔之,每⼀个你pull下来的Git仓库都是主仓库的⼀个分布式版本,仓库的内容完全⼀样,⽽SVN则不然,它需要⼀个中央版本库来进⾏集中控制。

采⽤分布式模式的好处便是你不再依赖于⽹络,当有更改需要提交的时候⽽你⼜⽆法连接⽹络时,你只需要把更改提交到本地的Git仓库,最后有⽹络的时候再把本地仓库和远程的主仓库进⾏同步即可。

当然,分布式和⾮分布式各有各的优缺点,但是⽬前来看,分布式的Git正逐渐被越来越多的⼈所接受并推⼴。

本⽂主要对Git的基本原理和常⽤命令进⾏简介,试图从底层来说明Git是如何⼯作的,从⽽帮助⼤家理解上层命令在执⾏的时候背后所产⽣的动作和变化。

原理部分的内容可以参考做进⼀步的了解,⽽常⽤的命令可以参考其他的资料。

本⽂的总结根据⾃⼰的理解进⾏描述,如果错误,请不吝赐教。

Git的基本原理本质上,Git是⼀套内容寻址(content-addressable)⽂件系统,⽽和我们直接接触的Git界⾯,只不过是封装在其之上的⼀个应⽤层。

这个关系颇有点类似于计算机⽹络中应⽤层和下属层的关系。

在Git中,那些和应⽤层相关的命令(也就是我们最常⽤的命令,如git commit、 git push等),我们称之为porcelain命令(瓷器之意,意为成品、⾼级命令);⽽和底层相关的命令(⼏乎不会在⽇常中使⽤,如git hash-object、git update-index等),则称之为plumbing命令(管道之意,是连接git应⽤界⾯和git底层实现的⼀个管道,类似于shell,底层命令)。

Git使用详细教程

Git使用详细教程

Git使用详细教程Git是一个分布式版本控制系统,用于跟踪文件的变化并协同开发。

本文将为您提供Git的详细使用教程,以帮助您快速上手Git。

一、安装Git二、设置Git```git config --global "Your Name"```这些信息将用于标识您在Git上的操作。

三、创建仓库在使用Git之前,您需要创建一个仓库来存储您的代码。

在终端或命令行界面中,进入您希望创建仓库的目录,并执行以下命令:```git init```这将在当前目录创建一个新的Git仓库。

四、添加文件在仓库中,您需要将文件添加到Git跟踪之下。

在终端或命令行界面中,执行以下命令来添加文件:git add <file>```您可以使用通配符来添加多个文件。

五、提交更改当您对文件进行了修改后,您需要将这些更改提交到Git仓库。

在终端或命令行界面中,执行以下命令来提交更改:``````在提交时,您需要提供一条简短的提交信息,用于描述您的更改。

六、查看历史记录您可以使用以下命令来查看仓库的历史记录:```git log```这将显示提交的历史记录,包括提交者、提交时间和提交信息。

七、创建分支分支是Git的一个重要概念,它允许您在代码的不同版本之间进行切换和并行开发。

在终端或命令行界面中,执行以下命令来创建一个新的分支:git branch <branch-name>```其中,`<branch-name>`是您希望创建的分支名称。

八、切换分支要切换到另一个分支,您可以使用以下命令:```git checkout <branch-name>```其中,`<branch-name>`是您希望切换到的分支名称。

九、合并分支当您完成了一些分支上的开发工作后,您可以将其合并到主分支或其他分支上。

在终端或命令行界面中,切换到目标分支,并执行以下命令来合并分支:```git merge <branch-name>```其中,`<branch-name>`是您希望合并的分支名称。

Git基本操作菜鸟教程

Git基本操作菜鸟教程

Git基本操作菜鸟教程Git 基本操作Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。

本章将对有关创建与提交你的项目快照的命令作介绍。

获取与创建项目命令git init用 git init 在目录中创建新的 Git 仓库。

你可以在任何时候、任何目录中这么做,完全是本地化的。

在目录中执行 git init,就可以创建一个 Git 仓库了。

比如我们创建 runoob 项目:$ mkdir runoob$ cd runoob/$ git initInitialized empty Git repository in /Users/tianqixin/www/runoob/.git/# 在/www/runoob/.git/ 目录初始化空 Git 仓库完毕。

现在你可以看到在你的项目中生成了 .git 这个子目录。

这就是你的 Git 仓库了,所有有关你的此项目的快照数据都存放在这里。

ls -a. .. .gitgit clone使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。

如果你需要与他人合作一个项目,或者想要复制一个项目,看看代码,你就可以克隆那个项目。

执行命令:git clone [url][url] 为你想要复制的项目,就可以了。

例如我们克隆 Github 上的项目:$ git clone **************:schacon/simplegit.gitCloning into 'simplegit'...remote: Counting objects: 13, done.remote: Total 13 (delta 0), reused 0 (delta 0), pack-reused 13Receiving objects: 100% (13/13), done.Resolving deltas: 100% (2/2), done.Checkingconnectivity... done.克隆完成后,在当前目录下会生成一个 simplegit 目录:$ cd simplegit/$ lsREADME Rakefile lib上述操作将复制该项目的全部记录。

Git常用命令详解

Git常用命令详解

Git常⽤命令详解Git 是⼀个很强⼤的分布式版本管理⼯具,它不但适⽤于管理⼤型开源软件的源代码(如:),管理私⼈的⽂档和源代码也有很多优势(如:)Git 的更多介绍,请参考我的上⼀篇博客:⼀、 Git 命令初识在正式介绍Git命令之前,先介绍⼀下Git 的基本命令和操作,对Git命令有⼀个总体的认识⽰例:从Git 版本库的初始化,通常有两种⽅式:1)git clone:这是⼀种较为简单的初始化⽅式,当你已经有⼀个远程的Git版本库,只需要在本地克隆⼀份例如:git clone git:///someone/some_project.git some_project上⾯的命令就是将'git:///someone/some_project.git'这个URL地址的远程版本库,完全克隆到本地some_project⽬录下2)git init 和 git remote:这种⽅式稍微复杂⼀些,当你本地创建了⼀个⼯作⽬录,你可以进⼊这个⽬录,使⽤'git init'命令进⾏初始化;Git 以后就会对该⽬录下的⽂件进⾏版本控制,这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建⼀个⽬录,并把可访问的URL记录下来,此时你就可以利⽤'git remote add'命令来增加⼀个远程服务器端,例如:git remote add origin git:///someone/another_project.git上⾯的命令就会增加URL地址为'git: ///someone/another_project.git',名称为origin的远程服务器,以后提交代码的时候只需要使⽤ origin别名即可⼆、 Git 常⽤命令1) 远程仓库相关命令检出仓库: $ git clone git:///jquery/jquery.git查看远程仓库:$ git remote -v添加远程仓库:$ git remote add [name] [url]删除远程仓库:$ git remote rm [name]修改远程仓库:$ git remote set-url --push [name] [newUrl]拉取远程仓库:$ git pull [remoteName] [localBranchName]推送远程仓库:$ git push [remoteName] [localBranchName]*如果想把本地的某个分⽀test提交到远程仓库,并作为远程仓库的master分⽀,或者作为另外⼀个名叫test的分⽀,如下:$git push origin test:master // 提交本地test分⽀作为远程的master分⽀$git push origin test:test // 提交本地test分⽀作为远程的test分⽀2)分⽀(branch)操作相关命令查看本地分⽀:$ git branch查看远程分⽀:$ git branch -r创建本地分⽀:$ git branch [name] ----注意新分⽀创建后不会⾃动切换为当前分⽀切换分⽀:$ git checkout [name]创建新分⽀并⽴即切换到新分⽀:$ git checkout -b [name]删除分⽀:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分⽀,对于未有合并的分⽀是⽆法删除的。

git rebase命令用法 -回复

git rebase命令用法 -回复

git rebase命令用法-回复Git Rebase命令用法详解Git是一种分布式版本控制系统,用于协同开发和版本控制。

Git的强大之处在于其灵活性和强大的分支管理功能。

Git Rebase命令是Git中一个非常重要且有用的功能,用于将一个分支上的提交应用到另一个分支上,使提交历史线条更加整洁和直观。

本文将详细介绍Git Rebase命令的用法,一步一步回答有关该命令的常见问题。

一、什么是Git Rebase命令?Git Rebase命令是将一个分支上的提交应用到另一个分支上的操作。

它可以让提交历史保持线性,从而更容易理解和管理。

与Git Merge命令不同,Git Rebase命令将提交复制到目标分支并移动所在的基指针,而不是简单地将提交合并到目标分支。

这意味着,使用Git Rebase命令后,提交历史将会发生变化。

二、为什么使用Git Rebase命令?使用Git Rebase命令可以有以下几个好处:1. 保持提交历史的线性。

通过应用Git Rebase命令,我们可以避免分支合并所产生的额外的合并提交,从而使提交历史线条更加直观和整洁。

2. 简化冲突解决。

在使用Git Merge合并分支时,通常需要手动解决合并冲突。

而使用Git Rebase命令,我们可以在应用每个提交时解决冲突,这样冲突解决会更加简单清晰。

3. 易于理解和回滚。

由于提交历史线条更加直观,使用Git Rebase命令后的项目更易于理解。

同时,在需要回滚时,也更容易定位和撤销某个提交。

三、如何使用Git Rebase命令?使用Git Rebase命令可以分为以下几个步骤:1. 确定目标分支和基分支。

首先,我们需要确定要将提交应用到哪个分支上。

这个分支称为目标分支。

然后,我们需要确定基分支,即目标分支的起点。

2. 执行Git Rebase命令。

在确定目标分支和基分支后,执行Git Rebase命令。

命令的基本格式为:git rebase <base_branch>其中,`<base_branch>`是基分支的名称。

Git详解

Git详解

起步本章介绍开始使用Git 前的相关知识。

我们会先了解一些版本控制工具的历史背景,然后试着让Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作。

读完本章,你就会明白为什么Git 会如此流行,为什么你应该立即开始使用它。

1.1 关于版本控制什么是版本控制?我真的需要吗?版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。

在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制。

如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能)。

采用版本控制系统(VCS)是个明智的选择。

有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。

你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报告了某个功能缺陷等等。

使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。

但额外增加的工作量却微乎其微。

本地版本控制系统许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。

这么做唯一的好处就是简单。

不过坏处也不少:有时候会混淆所在的工作目录,一旦弄错文件丢了数据就没法撤销恢复。

为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异(见图1-1)。

图1-1. 本地版本控制系统其中最流行的一种叫做rcs,现今许多计算机系统上都还看得到它的踪影。

甚至在流行的Mac OS X 系统上安装了开发者工具包之后,也可以使用rcs 命令。

它的工作原理基本上就是保存并管理文件补丁(patch)。

文件补丁是一种特定格式的文本文件,记录着对应文件修订前后的内容变化。

所以,根据每次修订后的补丁,rcs 可以通过不断打补丁,计算出各个版本的文件内容。

gitcommit详解

gitcommit详解

gitcommit详解git commit 命令⽤来将本地暂存的修改提交到版本库。

git commit -m '提交信息'。

我们⽤的⽐较多的应该就是-m 参数。

添加提交信息。

经常⼿抖的同学可能会知道,git commit直接回车也是可以提交暂存的,只不过输⼊提交信息的时候是通过调⽤vim编辑器进⾏信息编写的。

还有就是vim编辑器⽀持信息回车。

没错,就是这个样⼦的。

像我最早⼀次⼿抖出现这个窗⼝的时候特别慌张,不知道怎么⽤,也关不上。

哈哈哈,所以教给⼤家⼏个简单的⼩命令。

i 插⼊⽂字的命令。

窗⼝最⼀开始打开时是不能输⼊的。

按⼀下 i 就可以开始输⼊我们的提交信息啦! 输⼊完了怎么保存退出呢? 先按⼀下Esc,退出输⼊状态。

w 保存命令。

将我们输⼊的提交信息保存。

保存完之后, q 退出窗⼝。

就回到我们最开始的命令界⾯啦。

git commit -a -m ‘提交信息’我们知道-m参数是输⼊提交信息的,-a 参数就是可以把还没有执⾏add命令的修改⼀起提交。

git commit --amend这个命令就⽐较优秀了。

经过个⼈的探索,我总结了它的两个功能1.可以修改上⼀次的提交信息。

上⾯是我最近⼀次的提交,信息是222。

但是我现在不想它是222了,因为我发现我写的提交信息不合规范,怎么办,我得改呀。

然后我们输⼊这个命令,准备优秀⼀波输⼊命令之后弹出⼀个vim编辑器的界⾯,有提交信息,提⽰,提交时间,修改的⽂件。

然后我们将之前的222进⾏修改。

通过git log查看我们的提交信息。

可以看见我们仅有的⼀次提交信息被修改了,很优秀的,但是有⼀个问题,不知道⼩伙伴们发现了没有,就是我们的commitId变了。

这是要注意的⼀点。

2.可以将最近的修改追加到上⼀次的提交上。

我们在上⼀次修改的基础上再做⼀些修改。

查看当前的状态。

可以看出来我们删除了⼏个⽂件。

然后执⾏这个命令。

之后我们查看⼀下提交历史结果就是我们提交了两次,但是操作历史只有⼀条。

git查看、创建、删除、本地、远程分支方法详解

git查看、创建、删除、本地、远程分支方法详解

git查看、创建、删除、本地、远程分⽀⽅法详解1. 查看远程分⽀git branch -rorigin/master2. 查看本地分⽀git branch*master注:以*开头指明现在所在的本地分⽀3. 查看本地分⽀和远程分⽀git branch -a*masterremotes/origin/master4. 创建分⽀*新建⼀个分⽀,但依然停留在当前分⽀git branch [branch-name]*新建⼀个分⽀,并切换到该分⽀上git branch -b [branch-name]4-1 创建本地分⽀$ git branch test_1$ git branch -a* mastertest_1remotes/origin/master注:创建本地分⽀时,默认是把所在的本地分⽀的东西拷贝给新建本地的分⽀。

4-2 把本地分⽀推送到远端作为远端分⽀$ git push origin test_1To git@******* [new branch] test_1 -> test_1$ git branch -a* mastertest_1remotes/origin/masterremotes/origin/test_1注:git push origin test_1会把本地的test_1分⽀推送到远端,本地test_1分⽀和远端的对应关系是test_1-->test_1如果本地根本没有分⽀test_9,推送的话会提⽰错误5. 切换到分⽀$ git checkout test_1Switched to branch 'test_1'6. 删除本地分⽀$ git branch -amastertest_1test_2remotes/origin/masterremotes/origin/test_1remotes/origin/test_2$ git branch -d test_2Deleted branch test_2 (was c470057).$git branch -amastertest_1remotes/origin/masterremotes/origin/test_1remotes/origin/test_2可以看到本地分⽀test_2删除了7. 删除远程分⽀复制代码$ git branch -a* mastertest_1remotes/origin/masterremotes/origin/test_1remotes/origin/test_2$ git push origin :test_2To git@*********- [deleted] test_2$ git branch -a* mastertest_1remotes/origin/masterremotes/origin/test_1注:git push origin :*** 就是删除远程分⽀的意思,和刚才我删除本地⽆关。

【转】git使用详解--tag打标签

【转】git使用详解--tag打标签

【转】git使⽤详解--tag打标签---------------的标签管理。

跟⼤多数的 VCS ⼯具⼀样,git 也有在历史状态的关键点“贴标签”的功能,⼀般⼈们⽤这个功能来标记发布点(例如’v1.0′)。

列出git中现有标签要想列出git中现有的所有标签,输⼊’git tag’命令运⾏即可:$ git tagv0.1v1.3这个列表是按照字母表顺序给出的,其实排名先后跟重要程度没有直接联系。

当然,你也可以按照特定表达式搜索某些标签。

假如在⼀个 git 仓库中有超过 240 个标签,⽽你只想得到 1.4.2 序列的标签,那么你可以:$ git tag -l v1.4.2.*v1.4.2.1v1.4.2.2v1.4.2.3v1.4.2.4创建标签在 git 中有两种最主要的标签–轻量级标签(lightweight)和带注释的标签(annotated)。

轻量级标签跟分枝⼀样,不会改变。

它就是针对某个特定提交的指针。

然⽽,带注释的标签是git仓库中的对象。

它是⼀组校验和,包含标签名、email、⽇期,标签信息,GPG签名和验证。

⼀般情况下,建议创建带注释的标签,这样就会保留这些信息,但是如果你只是需要临时性标签或者某些原因你不想在标签中附带上⾯说的这些信息,lightweight标签更合适些。

带注释的标签在git中创建带注释的标签⾮常简单,在运⾏’tag’命令时加上-a就可以了。

$ git tag -a v1.4 -m ‘version 1.4′$ git tagv0.1v1.3v1.4‘-m’指明标签信息,跟标签⼀起存储。

如果你不使⽤-m指明标签信息,git会⾃动启动⽂本编辑器让你输⼊。

可以使⽤ git show 命令查看相应标签的版本信息,并连同显⽰打标签时的提交对象。

$ git show v1.4tag v1.4Tagger: Scott ChaconDate: Mon Feb 9 14:45:11 2009 -0800my version 1.4commit 150********b64cf874c3557a0f3547bd83b3ff6Merge: 4a447f7… a6b4c97…Author: Scott ChaconDate: Sun Feb 8 19:02:46 2009 -0800Merge branch ‘experiment’我们可以看到,在提交对象信息上⾯,列出了此标签的提交者和提交时间,以及相应的标签信息。

gitpush详解

gitpush详解

gitpush详解git push命令主要⽤于将本地更新推送到远程主机,但不同简化形式、命令参数产⽣延申效果。

⼀般形式将本地分⽀localBranch推送到远程主机remote上对应的远程分⽀remoteBranch。

此时若远程分⽀不存在,则会⾃动创建⼀个远程此时若远程分⽀不存在,则会⾃动创建⼀个远程分⽀$git push <远程主机名remote> <本地分⽀名localBranch>:<远程分⽀名remoteBranch>简化形式⼀省略远程分⽀此时若远程分⽀不存在,则会⾃动创建⼀个远程将本地分⽀localBranch推送到远程主机remote上对应的远程分⽀remoteBranch。

此时若远程分⽀不存在,则会⾃动创建⼀个远程分⽀这种形式同⼀般形式效果类似$git push <远程主机名remote> <本地分⽀名localBranch>简化形式⼆省略本地分⽀此时相当于删除远程分⽀将⼀个空分⽀推送到远程主机remote上remoteBranch。

此时相当于删除远程分⽀该形式等价于 git push origin --delete <远程分⽀名remoteBranch>$git push <远程主机名remote> :<远程分⽀名remoteBranch>简化形式三省略本地分⽀、省略远程分⽀将当前分⽀推送到origin主机上对应的分⽀这种形式要求本地当前分⽀和远程分⽀之间存在追踪关系$git push <远程主机名remote>简化形式四省略远程主机、省略本地分⽀、省略远程分⽀将当前分⽀推送到origin主机上对应的分⽀这种形式要求本地当前分⽀和远程分⽀之间存在追踪关系,且当前分⽀只有⼀个追踪分⽀$git push <远程主机名remote>简化形式5 省略远程分⽀添加参数 -u将当前分⽀推送到origin主机上对应的分⽀,若没有远程分⽀,则⾃动创建远程分⽀。

Git客户端图文详解如何安装配置GitHub操作流程攻略

Git客户端图文详解如何安装配置GitHub操作流程攻略

Git客户端图⽂详解如何安装配置GitHub操作流程攻略Git介绍分布式 : Git版本控制系统是⼀个分布式的系统, 是⽤来保存⼯程源代码历史状态的命令⾏⼯具;保存点 : Git的保存点可以追踪源码中的⽂件, 并能得到某⼀个时间点上的整个⼯程项⽬额状态; 可以在该保存点将多⼈提交的源码合并, 也可以会退到某⼀个保存点上;Git离线操作性 :Git可以离线进⾏代码提交, 因此它称得上是完全的分布式处理, Git所有的操作不需要在线进⾏; 这意味着Git的速度要⽐SVN等⼯具快得多, 因为SVN等⼯具需要在线时才能操作, 如果⽹络环境不好, 提交代码会变得⾮常缓慢;Git基于快照 : SVN等⽼式版本控制⼯具是将提交点保存成补丁⽂件, Git提交是将提交点指向提交时的项⽬快照, 提交的东西包含⼀些元数据(作者, ⽇期, GPG等);Git的分⽀和合并 : 分⽀模型是Git最显著的特点, 因为这改变了开发者的开发模式, SVN等版本控制⼯具将每个分⽀都要放在不同的⽬录中, Git可以在同⼀个⽬录中切换不同的分⽀;分⽀即时性 : 创建和切换分⽀⼏乎是同时进⾏的, ⽤户可以上传⼀部分分⽀, 另外⼀部分分⽀可以隐藏在本地, 不必将所有的分⽀都上传到GitHub中去;分⽀灵活性 : ⽤户可以随时创建合并删除分⽀, 多⼈实现不同的功能, 可以创建多个分⽀进⾏开发, 之后进⾏分⽀合并, 这种⽅式使开发变得快速, 简单, 安全。

Git通⽤客户端官⽅下载地址Git软件安装欢迎界⾯ : 直接下⼀步;协议 : 必须接受;安装位置 : 预留100M空间, ⾃定义安装位置;选择安装组件 :也可以默认选择;– 图标组件(Addition icons) : 选择是否创建快速启动栏图标或者是否创建桌⾯快捷⽅式;– 桌⾯浏览(Windows Explorer integration) : 浏览源码的⽅法, 单独的上下⽂浏览只使⽤bash 或者只⽤Git GUI⼯具; ⾼级的上下⽂浏览⽅法使⽤git-cheetah plugin插件;– 关联配置⽂件 : 是否关联git配置⽂件, 该配置⽂件主要显⽰⽂本编辑器的样式;– 关联shell脚本⽂件 : 是否关联Bash命令⾏执⾏的脚本⽂件;– 使⽤TrueType编码 : 在命令⾏中是否使⽤TruthType编码, 该编码是微软和苹果公司制定的通⽤编码;开始菜单快捷⽅式⽬录 : 设置开始菜单中快捷⽅式的⽬录名称, 也可以选择不再开始菜单中创建快捷⽅式;设置环境变量 : 选择使⽤什么样的命令⾏⼯具, ⼀般情况下我们默认使⽤Git Bash即可, 默认选择;– Git⾃带 : 使⽤Git⾃带的Git Bash命令⾏⼯具;– 系统⾃带CMD : 使⽤Windows系统的命令⾏⼯具;– ⼆者都有 : 上⾯⼆者同时配置, 但是注意, 这样会将windows中的find.exe 和 sort.exe⼯具覆盖, 如果不懂这些尽量不要选择;选择换⾏格式 :– 检查出windows格式转换为unix格式 : 将windows格式的换⾏转为unix格式的换⾏在进⾏提交;– 检查出原来格式转为unix格式 : 不管什么格式的, ⼀律转为unix格式的换⾏在进⾏提交;– 不进⾏格式转换 : 不进⾏转换, 检查出什么, 就提交什么;开始安装 :安装结束 : over;配置GitHub在开始菜单找到Git Bash右键属性,修改Git Bash的配置 : 将Git Bash设置为快速编辑模式, 可以更好的使⽤该命令⾏⼯具 :创建本地ssh(⼀种传输代码的⽅法,速度快安全。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Git详解之六Git 工具现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程。

你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力。

接下来你将领略到一些 Git 可以实现的非常强大的功能,这些功能你可能并不会在日常操作中使用,但在某些时候你也许会需要。

6.1 修订版本(Revision)选择Git 允许你通过几种方法来指明特定的或者一定范围内的提交。

了解它们并不是必需的,但是了解一下总没坏处。

单个修订版本显然你可以使用给出的 SHA-1 值来指明一次提交,不过也有更加人性化的方法来做同样的事。

本节概述了指明单个提交的诸多方法。

简短的SHAGit 很聪明,它能够通过你提供的前几个字符来识别你想要的那次提交,只要你提供的那部分 SHA-1 不短于四个字符,并且没有歧义——也就是说,当前仓库中只有一个对象以这段 SHA-1 开头。

例如,想要查看一次指定的提交,假设你运行 git log 命令并找到你增加了功能的那次提交:$ git logcommit 734713bc047d87bf7eac9674765ae793478c50d3Author: Scott Chacon <schacon@>Date: Fri Jan 2 18:32:33 2009 -0800fixed refs handling, added gc auto, updated testscommit d921970aadf03b3cf0e71becdaab3147ba71cdefMerge: 1c002dd... 35cfb2b...Author: Scott Chacon <schacon@>Date: Thu Dec 11 15:08:43 2008 -0800Merge commit 'phedders/rdocs'commit 1c002dd4b536e7479fe34593e72e6c6c1819e53bAuthor: Scott Chacon <schacon@>Date: Thu Dec 11 14:58:32 2008 -0800added some blame and merge stuff假设是 1c002dd.... 。

如果你想 git show 这次提交,下面的命令是等价的(假设简短的版本没有歧义):$ git show 1c002dd4b536e7479fe34593e72e6c6c1819e53b$ git show 1c002dd4b536e7479f$ git show 1c002dGit 可以为你的 SHA-1 值生成出简短且唯一的缩写。

如果你传递--abbrev-commit 给 git log 命令,输出结果里就会使用简短且唯一的值;它默认使用七个字符来表示,不过必要时为了避免 SHA-1 的歧义,会增加字符数:$ git log --abbrev-commit --pretty=onelineca82a6d changed the version number085bb3b removed unnecessary test codea11bef0 first commit通常在一个项目中,使用八到十个字符来避免 SHA-1 歧义已经足够了。

最大的 Git 项目之一,Linux 内核,目前也只需要最长 40 个字符中的 12 个字符来保持唯一性。

关于 SHA-1 的简短说明许多人可能会担心一个问题:在随机的偶然情况下,在他们的仓库里会出现两个具有相同 SHA-1 值的对象。

那会怎么样呢?如果你真的向仓库里提交了一个跟之前的某个对象具有相同 SHA-1 值的对象,Git 将会发现之前的那个对象已经存在在 Git 数据库中,并认为它已经被写入了。

如果什么时候你想再次检出那个对象时,你会总是得到先前的那个对象的数据。

不过,你应该了解到,这种情况发生的概率是多么微小。

SHA-1 摘要长度是 20 字节,也就是 160 位。

为了保证有 50% 的概率出现一次冲突,需要 2^80 个随机哈希的对象(计算冲突机率的公式是p = (n(n-1)/2) * (1/2^160))。

2^80 是 1.2 x 10^24,也就是一亿亿亿,那是地球上沙粒总数的 1200 倍。

现在举例说一下怎样才能产生一次 SHA-1 冲突。

如果地球上 65 亿的人类都在编程,每人每秒都在产生等价于整个 Linux 内核历史(一百万个 Git 对象)的代码,并将之提交到一个巨大的 Git 仓库里面,那将花费 5 年的时间才会产生足够的对象,使其拥有 50% 的概率产生一次 SHA-1 对象冲突。

这要比你编程团队的成员同一个晚上在互不相干的意外中被狼袭击并杀死的机率还要小。

分支引用指明一次提交的最直接的方法要求有一个指向它的分支引用。

这样,你就可以在任何需要一个提交对象或者 SHA-1 值的 Git 命令中使用该分支名称了。

如果你想要显示一个分支的最后一次提交的对象,例如假设topic1 分支指向ca82a6d,那么下面的命令是等价的:$ git show ca82a6dff817ec66f44342007202690a93763949$ git show topic1如果你想知道某个分支指向哪个特定的 SHA,或者想看任何一个例子中被简写的 SHA-1,你可以使用一个叫做 rev-parse 的 Git 探测工具。

在第 9 章你可以看到关于探测工具的更多信息;简单来说,rev-parse是为了底层操作而不是日常操作设计的。

不过,有时你想看 Git 现在到底处于什么状态时,它可能会很有用。

这里你可以对你的分支运执行rev-parse。

$ git rev-parse topic1ca82a6dff817ec66f44342007202690a93763949引用日志里的简称在你工作的同时,Git 在后台的工作之一就是保存一份引用日志——一份记录最近几个月你的 HEAD 和分支引用的日志。

你可以使用 git reflog 来查看引用日志:$ git reflog734713b... HEAD@{0}: commit: fixed refs handling, added gc auto, updated d921970... HEAD@{1}: merge phedders/rdocs: Merge made by recursive.1c002dd... HEAD@{2}: commit: added some blame and merge stuff1c36188... HEAD@{3}: rebase -i (squash): updating HEAD95df984... HEAD@{4}: commit: # This is a combination of two commits. 1c36188... HEAD@{5}: rebase -i (squash): updating HEAD7e05da5... HEAD@{6}: rebase -i (pick): updating HEAD每次你的分支顶端因为某些原因被修改时,Git 就会为你将信息保存在这个临时历史记录里面。

你也可以使用这份数据来指明更早的分支。

如果你想查看仓库中 HEAD 在五次前的值,你可以使用引用日志的输出中的@{n} 引用:$ git show HEAD@{5}你也可以使用这个语法来查看一定时间前分支指向哪里。

例如,想看你的 master 分支昨天在哪,你可以输入$ git show master@{yesterday}它就会显示昨天分支的顶端在哪。

这项技术只对还在你引用日志里的数据有用,所以不能用来查看比几个月前还早的提交。

想要看类似于 git log 输出格式的引用日志信息,你可以运行 git log -g:$ git log -g mastercommit 734713bc047d87bf7eac9674765ae793478c50d3Reflog: master@{0} (Scott Chacon <schacon@>)Reflog message: commit: fixed refs handling, added gc auto, updated Author: Scott Chacon <schacon@>Date: Fri Jan 2 18:32:33 2009 -0800fixed refs handling, added gc auto, updated testscommit d921970aadf03b3cf0e71becdaab3147ba71cdefReflog: master@{1} (Scott Chacon <schacon@>)Reflog message: merge phedders/rdocs: Merge made by recursive. Author: Scott Chacon <schacon@>Date: Thu Dec 11 15:08:43 2008 -0800Merge commit 'phedders/rdocs'需要注意的是,日志引用信息只存在于本地——这是一个你在仓库里做过什么的日志。

其他人的仓库拷贝里的引用和你的相同;而你新克隆一个仓库的时候,引用日志是空的,因为你在仓库里还没有操作。

只有你克隆了一个项目至少两个月,git show HEAD@{2.months.ago} 才会有用——如果你是五分钟前克隆的仓库,将不会有结果返回。

祖先引用另一种指明某次提交的常用方法是通过它的祖先。

如果你在引用最后加上一个 ^,Git 将其理解为此次提交的父提交。

假设你的工程历史是这样的:$ git log --pretty=format:'%h %s' --graph* 734713b fixed refs handling, added gc auto, updated tests* d921970 Merge commit 'phedders/rdocs'|\| * 35cfb2b Some rdoc changes* | 1c002dd added some blame and merge stuff|/* 1c36188 ignore *.gem* 9b29157 add open3_detach to gemspec file list那么,想看上一次提交,你可以使用 HEAD^,意思是“HEAD 的父提交”:$ git show HEAD^commit d921970aadf03b3cf0e71becdaab3147ba71cdefMerge: 1c002dd... 35cfb2b...Author: Scott Chacon <schacon@>Date: Thu Dec 11 15:08:43 2008 -0800Merge commit 'phedders/rdocs'你也可以在 ^ 后添加一个数字——例如,d921970^2 意思是“d921970 的第二父提交”。

相关文档
最新文档