git

git命令详记

Posted by Distiny on January 6, 2023

天天用git,但是过来过去只有那几个,这里总结记录更多的一些命令

git commit

下面列出了一些常用的参数:

  • -a:将所有已跟踪的文件的更改自动暂存并提交。
  • -v:显示更多的信息
  • -m <提交信息>:指定提交信息,而不是使用文本编辑器。
  • –amend:修改上一次提交的提交信息。
  • –no-verify:忽略所有预提交检查。
  • –allow-empty:允许没有更改的提交。
  • –no-edit:使用上一次提交的提交信息,而不是使用文本编辑器。

此外,git commit命令还有许多其他参数可用,例如:

  • -s:使用签名。
  • –date=<日期>:指定提交的日期。
  • -n:不进行暂存。
  • -C <提交>:使用另一个提交的提交信息。

有关git commit命令的更多信息,可以使用git commit –help命令查看帮助文档。

git add

git add命令是用于暂存文件的更改的Git命令,它有许多可用的参数,下面列出了一些常用的参数:

  • <文件名>:指定要暂存的文件的名称。
  • .:暂存所有未跟踪的文件和已跟踪文件的更改。
  • -A:暂存所有已跟踪的文件的更改。
  • -u:暂存所有已跟踪的文件的更改,并自动忽略未跟踪的文件。
  • –patch:交互式选择要暂存的更改。

git pull

git pull命令是用于将远程仓库的更改合并到本地仓库的Git命令,它有许多可用的参数,下面列出了一些常用的参数:

  • <远程>:指定要拉取的远程仓库的名称。
  • <分支>:指定要拉取的远程分支的名称。
  • -f:强制执行拉取,即使有冲突。
  • –rebase:在拉取时使用rebase方式而不是merge方式。
  • –no-commit:在拉取后不自动提交。
  • –ff-only:只有在可以进行快进合并时才执行拉取。

此外,git pull命令还有许多其他参数可用,例如:

  • -q:安静模式,减少输出。
  • –stat:在拉取后显示更改统计信息。
  • –log:在拉取后显示提交日志。

git push

git push命令是用于将本地仓库的更改推送到远程仓库的Git命令,它有许多可用的参数,下面列出了一些常用的参数:

  • <远程>:指定要推送的远程仓库的名称。
  • <本地分支>:<远程分支>:指定要推送的本地分支和远程分支。
  • -f:强制推送,即使有冲突。
  • –force-with-lease:强制推送,但只有在远程分支没有更改时才能成功。
  • –set-upstream:将本地分支设置为跟踪远程分支。

此外,git push命令还有许多其他参数可用,例如:

  • -q:安静模式,减少输出。
  • –repo <仓库>:指定要使用的远程仓库的URL。
  • –all:推送所有本地分支到对应的远程分支。

git checkout

git checkout命令用于切换分支或恢复文件,它有许多可用的参数,下面列出了一些常用的参数:

  • <分支名>:切换到指定的分支。
  • <文件名>:恢复指定文件的更改。
  • –force:强制执行分支切换或
  • 文件恢复操作,即使有未合并的更改。
  • -b <新分支名>:创建新分支并切换到该分支。
  • -B <新分支名>:如果新分支已存在,则切换到该分支;如果新分支不存在,则创建该分支并切换到该分支。

git checkout命令还有许多其他参数可用,例如:

  • – <文件名>:忽略路径中的分支名称,仅恢复指定的文件。
  • -p:恢复文件的单独更改。

git merge

git merge命令用于将两个或多个分支合并到当前分支,它有许多可用的参数,下面列出了一些常用的参数:

  • <分支名>:指定要合并的分支。
  • –no-ff:强制使用“快进合并”,即使可以使用“快进合并”(fast-forward merge)。
  • -s <策略>:指定合并策略,例如recursive、resolve等。
  • –squash:将所有合并提交合并到单个提交中。
  • -m <提交信息>:指定合并提交的提交信息。

此外,git merge命令还有许多其他参数可用,例如:

  • -v:显示合并的每个文件。
  • -q:安静模式,减少输出。

git branch

git branch命令用于管理本地分支,它有许多可用的参数,下面列出了一些常用的参数:

  • -d:删除指定的分支。
  • -D:强制删除指定的分支,即使有未合并的更改。
  • -m:重命名指定的分支。
  • -r:列出所有远程跟踪分支。
  • -a:列出所有本地和远程跟踪分支。

git rebase

git rebase命令是用于重构本地分支的Git命令,它有许多可用的参数,下面列出了一些常用的参数:

  • <基线分支>:指定要重构的分支的基线分支。
  • -i:交互式重构,可以在重构过程中选择性地修改提交。
  • -p:保留提交信息,而不是使用默认的提交信息。
  • -f:强制重构,即使有冲突。
  • –onto <新基线分支>:将重构应用于新的基线分支。

其他

除了上述提到的git命令,还有许多其他常用的git命令,包括:

  • git init:在当前目录初始化一个新的Git仓库。
  • git clone <仓库地址>:克隆远程仓库到本地。
  • git status:查看当前仓库的状态,包括未跟踪的文件、未提交的更改等。
  • git diff:查看未提交的更改。
  • git log:查看仓库的提交历史。
  • git stash:储存未提交的更改。
  • git fetch:从远程仓库获取最新的更改,但不合并到本地分支。
  • git tag:管理仓库的标签。

都是用ChatGPT查的,这么看还挺多的,这也没记完,感觉需要还是查git –help吧~

❯ git --help
用法:git [--version] [--help] [-C <path>] [-c <键名>=<值>]
           [--exec-path[=<路径>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<路径>] [--work-tree=<路径>] [--namespace=<名称>]
           <命令> [<参数>]

这些是各种场合常见的 Git 命令:

开始一个工作区(参见:git help tutorial)
   clone      克隆一个仓库到一个新目录
   init       创建一个空的 Git 仓库或重新初始化一个已存在的仓库

在当前变更上工作(参见:git help everyday)
   add        添加文件内容至索引
   mv         移动或重命名一个文件、目录或符号链接
   reset      重置当前 HEAD 到指定状态
   rm         从工作区和索引中删除文件

检查历史和状态(参见:git help revisions)
   bisect     通过二分查找定位引入 bug 的提交
   grep       输出和模式匹配的行
   log        显示提交日志
   show       显示各种类型的对象
   status     显示工作区状态

扩展、标记和调校您的历史记录
   branch     列出、创建或删除分支
   checkout   切换分支或恢复工作区文件
   commit     记录变更到仓库
   diff       显示提交之间、提交和工作区之间等的差异
   merge      合并两个或更多开发历史
   rebase     在另一个分支上重新应用提交
   tag        创建、列出、删除或校验一个 GPG 签名的标签对象

协同(参见:git help workflows)
   fetch      从另外一个仓库下载对象和引用
   pull       获取并整合另外的仓库或一个本地分支
   push       更新远程引用和相关的对象

命令 'git help -a''git help -g' 显示可用的子命令和一些概念帮助。
查看 'git help <命令>''git help <概念>' 以获取给定子命令或概念的帮助。