1. はじめに
-
コードの送信とマージに慣れている小規模パートナーは、開発プロセス中、
Git 命令
特にテスト プロセスで頻繁にコードの入力と送信を繰り返していることに気づくでしょう。 -
ブロガーは
Git 命令
を使用するのが好きな人で、ビジュアル ソフトウェアはあまり好きではありません。そこで、関連するコマンドをNode
パッケージ化してGit
、自動コマンド ツールcggitを作成しました。GitHub アドレスを添付してください。 -
自動化されたコマンドに基づいて、
git
パラメーターのないすべてのネイティブ コマンドもサポートしています。以下では、いわゆるパラメーターのないコマンドについて説明します。 -
cgit自動化コマンドの実行中に競合が発生しました。解決後は、関連コマンドの実行を続行して
push, merge
送信を完了できます。
2. インストール
-
Git
必ず環境をインストールしてくださいNode
。Windows
パッケージ管理ツール: wingetMac
パッケージ管理ツール: homebrewLinux
パッケージ管理ツール:Yum
各プラットフォームは、パッケージ管理ツールを通じて迅速にインストールできます
Git
。Node
-
グローバルにインストールするには
cggit
、次のコマンドを使用します$ ggit xxx
$ npm i -g cggit
$ ggit -v
インストールが失敗した場合は、ミラーを公式ミラーに切り替えて試してください。
# 查看镜像 $ npm get registry # 切换为官方镜像 $ npm config set registry https://registry.npmjs.org # 切换为淘宝镜像 $ npm config set registry https://registry.npm.taobao.org
-
ggit -h
サポートされているサブコマンドとパラメータは、ヘルプ ドキュメントを参照して確認できます。$ ggit -h
# 输出 Usage: ggit [options] [command] # ggit 支持的参数 Options: -V, --version output the version number -v output the version number -d [branch] 移除指定本地分支 -dr [branch] 移除指定远程分支 -b [branch] 以当前分支为基础,新建分支 -g [branch] 切换到指定分支,如本地没有会拉取远程分支 -h, --help display help for command # ggit 支持的子命令 Commands: pull 同步当前分支的远程数据,如果未建立远程分支跟踪,会自动跟踪远程分支,并拉取最新数据 push [options] 提交当前分支到远程仓库,并可在提交完成后,自动切换到指定分支 merge [options] 提交当前分支到远程仓库,并合并到指定分支,再返回当前分支/指定分支 fix [options] 目前主要作用于修复分支偏移问题 help [command] display help for command
-
ggit push|merge|fix -h
ヘルプドキュメントを参照すると、サブコマンドのサポートパラメータを確認できます。$ ggit push -h
Usage: ggit push [options] 提交当前分支到远程仓库 # push 支持的参数 Options: -g, --go [branch] 合并提交结束后,切换到指定分支 -s, --stash [type] 使用 stash 暂存区方式合并代码,如手动终止脚本、执行失败停止脚本,需检查是否执行了 $ git stash pop 命令,没有执行需要手动执行放出暂存区的代码,以免丢失 (default: true) -m, --message [msg] 提交日志信息 (default: "2023-06-09 11:32:11 提交优化") -h, --help display help for command
3、使用する
-
ggit
サポートされているプロパティ# 切换到指定分支 $ ggit -g 2.3.4 # 移除远程分支 $ ggit -dr 2.3.4 ....
ggit
意味 パラメータの受け渡しをサポート デフォルト -v | -V バージョンを見る なし なし -g [ブランチ] 指定されたブランチに切り替えます。ローカル ブランチがない場合は、リモート ブランチがプルされます。 なし なし -b [ブランチ] 現在のブランチに基づいて新しいブランチを作成する なし なし -d [ブランチ] 指定されたローカルブランチを削除します なし なし -dr [ブランチ] 指定されたリモートブランチを削除します なし なし -
ggit
現在サポートされているサブコマンド# 1、拉取当前分支远程代码,会自动建立远程分支跟踪 $ ggit pull # 2、提交当前分支代码 $ ggit push # 3、合并代码,提交当前分支代码,并合并到默认分支 dev,在切回当前分支继续开发 $ ggit merge === $ ggit merge -t dev # 4、修复分支偏移,一般情况不需要,看到报错分支偏移时可以使用 $ ggit fix # 5、修改默认配置 # 比如 merge 默认合并的是 dev 分支,如果想默认是的 master,则可以通过 cset 修改,这样就不需要在 $ ggit merge 时不需要指定 -t master,其他配置同理。 $ ggit config set -t master # 6、获取所有默认配置 $ ggit config === $ ggit config get # 获取指定配置 $ ggit config -t === $ ggit config get -t
-
サブコマンドパラメータの概要
pull
意味 パラメータの受け渡しをサポート デフォルト なし なし なし なし push
意味 パラメータの受け渡しをサポート デフォルト -g、--go [ブランチ] マージコミットが終了したら、指定されたブランチに切り替えます 支店名 - -s、--stash [タイプ] スクリプトを手動で終了するか、実行が失敗した場合にスクリプトを停止するなど、stash の一時記憶領域を使用してコードをマージするには、$ git stash Pop コマンドが実行されたかどうかを確認する必要があります。実行されていない場合は、損失を避けるためにコードを手動で実行して一時記憶領域を解放します 0/1/真/偽/正しい/偽 真実 -m、--メッセージ [メッセージ] コミットログ情報 - 現在時刻 + コミットの最適化 merge
意味 パラメータの受け渡しをサポート デフォルト -t, --to [ブランチ] 指定されたブランチにマージします 支店名 開発者 -g、--go [ブランチ] マージコミットが終了したら、指定されたブランチに切り替えます 支店名 現在のブランチ -s、--stash [タイプ] スクリプトを手動で終了するか、実行が失敗した場合にスクリプトを停止するなど、stash の一時記憶領域を使用してコードをマージするには、$ git stash Pop コマンドが実行されたかどうかを確認する必要があります。実行されていない場合は、損失を避けるためにコードを手動で実行して一時記憶領域を解放します 0/1/真/偽/正しい/偽 真実 -m、--メッセージ [メッセージ] コミットログ情報 - 現在時刻 + コミットの最適化 fix
意味 パラメータの受け渡しをサポート デフォルト -p、--push [タイプ] 修復が完了したら、コードをリモートブランチに送信します。 0/1/真/偽/正しい/偽 真実 -g、--go [ブランチ] マージコミットが終了したら、指定されたブランチに切り替えます 支店名 - -m、--メッセージ [メッセージ] コミットログ情報 - 現在時刻 + 分岐オフセットを修正 config
意味 パラメータの受け渡しをサポート デフォルト 設定 デフォルト設定を変更する 必須 (例: $ ggit config set -t dev
)- 得る デフォルト設定を表示する 必須 (例: $ ggit config get -t
)開発者 -t, --to [ブランチ] 指定されたブランチにマージします 支店名 開発者 -s、--stash [タイプ] 状態をマージするためにスタッシュの一時ストレージ領域を使用するかどうか 0/1/真/偽/正しい/偽 真実 -
サブコマンドパラメータの使用
例: 現在 2.0 ブランチでは、現在のブランチを直接送信する必要があり、デフォルトのコメントを使用するだけです。
$ ggit push
例: 現在 2.0 ブランチにいる場合は、提出メモを持参し、現在のブランチをリモートに提出する必要があります。
$ ggit push -m "优化代码" 或 $ ggit push --message '优化代码'
たとえば、現在 2.0 ブランチにいる場合は、提出ノートを持参し、現在のブランチをリモートに提出し、提出が完了したら 1.0 ブランチに切り替える必要があります。
$ ggit push -m '优化代码' -g 1.0
-
拡張性では、上記のサブコマンドのサポートに加えて、すべての
git
コマンドもサポートされますが、パラメータ付きのコマンドはサポートされません。$ ggit add . = $ git add . $ ggit commit -m '备注' = $ git commit -m '备注' $ ggit pull = $ git pull .... # 基本所有不带参的 git 命令都支持 # 只有执行 push、merge 命令时会被 ggit 拦截,并使用 ggit 的 push、merge $ ggit push origin master = 执行的是 $ ggit push,而不是 $ git push,多余的参数会不生效,merge 同理,其他命令都不会被拦截,因为不同名。
# 什么叫带参命令,例如: $ git branch --set-upstream-to=origin/<分支> 5.0 # 如果确实要用,肯定不如直接使用 git,但是也能用,使用 '' 或 "" 包裹一下即可 # $ ggit '包裹的命令' $ ggit 'branch --set-upstream-to=origin/<分支> 5.0' # -- 或 - 开头的就是参数,不支持 git 的这种带参命令,不带参数的都支持
4.Git
ネイティブコマンドとの比較
-
コードを送信する
# 原生 $ git add . $ git commit -m '优化代码' $ git pull origin 当前分支 $ git push origin 当前分支
# ggit $ ggit push -m "优化代码" # 如果不需要备注,使用默认备注 $ ggit push
-
を修正し
BUG
、現在のブランチにコミットし、dev
ブランチにマージし、現在の開発ブランチまたは他のブランチに戻します。# 原生 $ git add . $ git commit -m '优化代码' $ git pull origin 开发分支 $ git push origin 开发分支 $ git checkout dev $ git pull origin dev $ git merge 开发分支 # 在这环节,ggit 如果 merge 遇到冲突,解决后,继续执行一遍 merge 命令,也能完成提交代码,加上 -g 就能再次回到指定分支 # 也可以使用 push 命令上传,原生命令就还的 add 敲一遍。 $ git push origin dev $ git checkout 开发分支/指定分支
# ggit # 提交合并完成回到当前分支(-g 默认当前分支) $ ggit merge -m "优化代码" # 提交合并完成回到指定分支 $ ggit merge -m "优化代码" -g 1.0 # 如果不需要备注,使用默认备注 $ ggit merge