包括:Git 基础

来自 Alpine Linux

暂存 (Stashing)

git stash

如果您想“隐藏”您的更改。如果您认为您正在处理的内容可能存在其他提交,并且想要刷新您的本地检出(使用git pull --rebase)来自主分支,请执行此操作。使用git stash apply以恢复您的暂存。

重置本地仓库

git checkout -f master

如果您认为您的树非常糟糕,需要 kill-and-fill 来将主分支带入您的本地仓库。您将丢失本地更改。

列出本地分支

您现在可以通过执行以下操作来列出您的本地分支

git branch

应该输出

* master

列出本地未提交的更改

git status

提交 (Commit)

现在您可以开始在您的树上工作了。一旦您觉得您已经达到了开发中的一个步骤,可以本地提交您的工作,请使用

git commit -a

git commit <specific files>

git add <specific files> git commit

如果您希望将功劳归于他人的工作(例如,您正在应用第三方补丁)

git commit <specific files> --author "姓名 姓氏 <user@example.com>

提交消息的格式应该是

One-line description that's less than 72 chars long
<second line empty>
Optional longer description with explanation why changes were made. Links to relevant issues
in Bugtracker can be done with:

  ref #<issuenumber>

It is also possible to resolve issues with:

  fixes #<issuenumber>

将第一行视为电子邮件中的主题,第三行及之后视为电子邮件的正文,描述提交的作用。您不需要长描述,但第一行,即简短描述应该在那里,因为它将显示在提交日志中。

提示: 您可以将以下行添加到您的 ~/.vimrc
autocmd FileType gitcommit set textwidth=72

列出您的提交

要查看您的提交列表

git log

要检查您将从本地推送到远程的内容

git log origin..master

保持本地工作分支同步

从上游 (git.alpinelinux.org) 拉取更改

git pull --rebase

提示: 您可以告诉 git 使用 rebase 而不是 merge(意味着 '--rebase' 将在 'git pull' 时自动发出)。
运行命令

git config branch.origin.rebase true

下次您执行 'git pull' 时,您实际上是在执行 'git pull --rebase'。

Git 标签 (Tag)

创建一个带注释的标签并推送它。

git tag -a 标签名 -m '提交消息 (例如 release 1.x)' git push && git push --tags

Git 推送 (push)

将您的更改推送到主分支。

git push

创建一个新项目

创建您自己的目录,您希望将其变成您的新 acf-mystuff 项目。

mkdir acf-mystuff cd acf-mystuff git init

创建您的文件并将它们添加/提交到您的 git 项目

git add ./ git commit

基于上游主分支变基 (Rebasing)

最好始终与上游 Alpine Linux 仓库的状态保持同步,以确保以后不会发生合并冲突。为此,您首先必须添加一个新的 git 远程仓库,该仓库指向上游仓库(而不是您的 fork)

git remote add upstream https://gitlab.alpinelinux.org/alpine/$REPO

现在您可以使用以下命令获取所有更改

git fetch --all

然后您可以使用以下命令进行变基

git rebase