分类目录归档:Git

Git Merge


git merge命令会将对单独分支上的代码库所做的任何更改合并到当前分支。

命令语法如下:

git merge BRANCH-NAME

例如,如果您当前正在一个名为dev的分支中工作,并且想要合并在名为new-features的分支中进行的任何新更改,那么您将发出以下命令:

git merge new-features

请注意: 如果当前分支上有任何未提交的更改,Git将不允许您合并,直到当前分支中的所有更改都已提交。要处理这些更改,您可以:

  • 创建一个新分支并提交更改
git checkout -b new-branch-name
 git add .
 git commit ...

阅读全文...

Git Log


git log命令显示存储库历史记录中的所有提交。

默认情况下,该命令显示每个提交的:

  • 安全散列算法(SHA)
  • 作者
  • 日期
  • 提交消息

浏览Git日志

Git使用Less终端分页器来浏览提交历史记录。您可以使用以下命令进行导航:

  • 向下滚动一行,使用j或↓
  • 要向上滚动一行,请使用k或↑
  • 要向下滚动一页,请使用空格键或Page Down按钮
  • 要向上滚动一页,请使用b或Page Up按钮
  • 要退出日志,请使用q

Git Log Flags

您可以使用标志自定义git log提供的信息。

- 一条线

git log --oneline

--oneline标志导致git log显示

  • 每行一次...

阅读全文...

Git Commit


Git Commit

git commit命令将在本地存储库的“提交”中保存所有暂存的更改以及用户的简要描述。

提交是Git使用的核心。您可以将提交视为项目的快照,其中在当前存储库中创建该项目的新版本。提交的两个重要特征是:

  • 您可以在以后调用提交的更改,或将项目还原到该版本
  • 如果多个提交编辑项目的不同部分,即使提交的作者彼此不知道,它们也不会相互覆盖。这是使用Git而不是像Dropbox或Google Drive这样的工具的好处之一。

选项

git commit可以包含许多选项。但是,本指南仅涵盖两个最常见的选项。

-m选项

git commit一起使用的最常见选项是-m选项。 -...

阅读全文...

Git Clone


git clone命令允许您将远程存储库复制到本地计算机上。

首先,找到您正在处理或感兴趣的项目的远程存储库 - 这也可以是您项目的分支。接下来,复制它的URL。

在本地计算机的命令行中,导航到要在项目工作目录中保存项目的位置。最后,运行git clone命令:

git clone URL-OF-REPOSITORY

计算机上新目录的默认名称是存储库的名称,但您可以通过包含最后一个(可选)参数来更改此名称:

git clone URL-OF-REPOSITORY NAME-OF-DIRECTORY-ON-COMPUTER

Git为遥控器提供了别名“origin”。当您想要将更改推送到...

阅读全文...

Git Cherry Pick


git cherry-pick命令应用某些现有提交引入的更改。本指南将重点介绍尽可能多地解释此功能,但当然真正的Git文档将总是派上用场。

从主人那里查看现有的分支樱桃选择

要应用主分支顶端的提交引入的更改,并使用此更改创建新的提交。运行以下命令

git cherry-pick master

检查来自其他提交的更改

要将提交引入的更改应用于所需的特定哈希值,请运行以下命令

git cherry-pick {HASHVALUE}

这会将该提交中引用的更改添加到当前存储库

从一个分支到另一个分支应用某些提交

cherry-pick允许您在从一个分支到另一个分支的提交之间进行选择。假设您有...

阅读全文...

Git Checkout


git checkout命令在分支之间切换或恢复工作树文件。此命令有许多不同的选项,这里不会介绍,但您可以在Git文档中查看所有这些选项。

签出特定提交

要签出特定的提交,请运行以下命令:

git checkout specific-commit-id

我们可以通过运行获取特定的提交ID:

git log

签出现有分支

要签出现有分支,请运行以下命令:

git checkout BRANCH-NAME

通常,除非您的工作目录是干净的,否则Git不会让您签出另一个分支,因为您将丢失任何未提交的工作目录更改。您有三种方法可以处理您的更改:1)删除它们,2) 提交它们,或3) 存储它们 ...

阅读全文...

Git Branch


Git的分支功能允许您创建项目的新分支,以测试想法,隔离新功能或实验,而不会影响主项目。

目录

查看分支机构

要查看Git存储库中的分支,请运行以下命令:

git branch

要查看远程跟踪分支和本地分支,请运行以下命令:

git branch -a

您当前所在的分支旁边会有一个星号(*)。

您可以使用git branch包含许多不同的选项来查看不同的信息。有关分支的更多详细信息,可以使用-v (或-vv--verbose )选项。分支列表将包括其名称旁边的每个分支的H...

阅读全文...

Git Blame


使用git blame您可以看到谁在一个特定的文件中逐行更改了内容,这对于在团队中工作非常有用,而不是单独使用。例如,如果一行代码让你想知道为什么它存在,你可以使用git blame ,你会知道你必须要问谁。

用法

你像这样使用git blamegit blame NAME_OF_THE_FILE

例如: git blame triple_welcome.rb

你会看到这样的输出:

0292b580 (Jane Doe      2018-06-18 00:17:23 -0500 1) 3.times do
e483daf0 (John Doe      2018-06-18 23...

阅读全文...

Git Bisect


git bisect命令可帮助您查找在项目中添加特定更改的提交。如果您需要查找引入错误的更改,这将特别有用。

此命令的工作原理是提供一个“错误”提交,其中包含错误和引入错误之前的“良好”提交。通过二进制搜索, git bisect将选择提交并要求您确定提交是“好”还是“坏”。这将继续,直到命令能够找到引入更改的确切提交。

Bisect命令

要启动bisect会话,您将告诉git启动bisect会话,识别“坏”版本,并识别“好”版本。假设当前提交已中断但提交4b60707是好的,您将运行以下命令:

git bisect start
 git bisect bad
 git bisect g...

阅读全文...

Git Alias


如果您部分输入,Git不会自动推断您的命令。如果您不想键入每个Git命令的整个文本,可以使用git config轻松地为每个命令设置别名。以下是您可能想要设置的几个示例:

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

这意味着,例如,您只需键入git ci,而不是键入git commit。当你继续使用Git时,你可能也经常使用其...

阅读全文...