[git] git コマンドライン; Commitizen が git 送信を標準化

ギット

 まず、git プロセス全体の分類を理解する必要があります。

  • ワークスペース: ワークスペース
  • ステージング領域: ステージング領域/キャッシュ領域
  • ローカル リポジトリ: バージョン ライブラリまたはローカル ウェアハウス
  • リモートリポジトリ: リモートウェアハウス

倉庫の作成

git clone  [email protected]//拷贝一份远程仓库
git init //初始化仓库

提出プロセス

git add . //当前目录下的所有文件添加到暂存区
git commit -m [message] //提交暂存区到本地仓库,[message] 可以是一些备注信息
git push //将本地仓库中的代码上传至远程仓库

 改訂

git fetch	//是从远程获取最新版本到本地,不会自动merge
git pull	//是从远程获取最新版本到本地,并自动merge

Git ブランチ管理 

git branch  //列出本地分支
git branch -r  //列出远程分支
git branch 【branchname】 //创建branchname分支
git checkout 【branchname】 //切换到branchname分支
git merge 【branchname】  //合并branchname分支

一般的に使用される git コマンドの図を添付します。 

Git学習サイト:初心者向け簡単Gitチュートリアル | ヌーラボ 

Git ブランチ管理の競合

競合の発生: いわゆる競合とは、2 人の開発者が同じファイルおよび同じ場所に異なる変更を加えたため、競合が発生することを意味します。

一般に、競合は2 つのブランチがマージされるとき、またはコードがリモート ウェアハウスからローカル ウェアハウスにプルされるときに発生します。

例を見てみましょう: 2 つのブランチがあるとします。最初のブランチは master ブランチ、2 番目のブランチは border という名前です。README.md ファイルを変更して送信します。次に、 borderブランチを master ブランチに マージします。コードが発生します。

Git は、<<<<<<<、=======、>>>>>>> を使用して、さまざまなブランチの内容をマークします。

<<<<<<< border
This is conflicting branch line.
=======
Upwork projects
>>>>>>> master 

片側を保持することも、片側を削除して修正して送信することもできます。

gitでコミットを間違えてしまったのですが、キャンセルするにはどうすればよいですか?

  • git log Git コミット レコードを表示する

  • コミットを撤回したい場合は、 git revert <commit-hash> を使用できます。

その中には、<commit-hash>元に戻す必要があるコミットのハッシュ値があります (git logコマンドで表示します)。変更をステージング領域にロールバックします。その後、コードを再変更して再度送信できます。

git は送信されたリモート コード ベースを切り替えます

  • 現在のリモート ウェアハウス構成情報を表示する git Remote -v

  • 古いリモート リポジトリ設定を削除します。 git Remote Remove <remote-name>

<remote-name>削除する必要があるリモート リポジトリの名前です

  • 新しいリモート ウェアハウス構成を追加する git Remote add <remote-name> <repository-url>

ここで<remote-name>、 は新しいリモート ウェアハウスの名前、 は<repository-url>新しいリモート ウェアハウスの URL です。

  • 新しいリモート リポジトリにコードをプッシュします git Push -u <remote-name> <branch-name>

remote-name はリモート リポジトリの名前です (例: )  origin

branch-name プッシュされるローカル ブランチの名前です master

-uパラメーター ( としても記述できます)を使用すると--set-upstream、ローカル ブランチとリモート ブランチが確実に「接続」され、後続の操作でリモート リポジトリとブランチの名前を再度指定する必要がなくなります。このパラメーターを使用しない場合は-u、後続の操作でリモート ウェアハウスとブランチ名を手動で指定する必要があります。

Commitizen は git コミットを標準化します

 まず Commitizen をグローバルにインストールし、次を実行します。

npm install -g commitizen

次に、プロジェクトでターミナルを開き、cz-customizable をインストールします。

npm i cz-customizable --save-dev

次に、package.json で次のコードを構成します。

"config": {
  "commitizen": {
  "path": "node_modules/cz-customizable"
  }
}

次に、ルート ディレクトリに新しい .cz-config.js ファイルを作成し、次のように構成します。

module.exports = {
  // 可选类型
  types: [
    { value: "feat", name: "feat:     新功能" },
    { value: "fix", name: "fix:      修复" },
    { value: "docs", name: "docs:     文档变更" },
    { value: "style", name: "style:    代码格式(不影响代码运行的变动)" },
    {
      value: "refactor",
      name: "refactor: 重构(既不是增加feature,也不是修复bug)",
    },
    { value: "perf", name: "perf:     性能优化" },
    { value: "test", name: "test:     增加测试" },
    { value: "chore", name: "chore:    构建过程或辅助工具的变动" },
    { value: "revert", name: "revert:   回退" },
    { value: "build", name: "build:    打包" },
  ],
  // 消息步骤
  messages: {
    type: "请选择提交类型:",
    customScope: "请输入修改范围(可选):",
    subject: "请简要描述提交(必填):",
    body: "请输入详细描述(可选):",
    footer: "请输入要关闭的issue(可选):",
    confirmCommit: "确认使用以上信息提交?(y/n/e/h)",
  },
  // 跳过问题
  skipQuestions: ["body", "footer"],
  // subject文字长度默认是72
  subjectLimit: 72,
};

次に git にアクセスして送信します。

  • git add 。
  • git cz => プロンプトの内容を表示するには、「git commit」の代わりに「git cz」を使用します。

  • gitプッシュ


拡張機能: Commitize 仕様の提出を必須に設定します。それ以外の場合は、エラーをインターセプトして報告します。

husky + commitlint を使用して、コミットの記述が仕様要件を満たしているかどうかを確認します

プロジェクト コンソールのインストールの依存関係:

npm install --save-dev @commitlint/config-conventional @commitlint/cli

実行: ルート ディレクトリに commitlint.config.js を作成し、構成用に設定します。

   module.exports = {
     // 继承的规则
     extends: ['@commitlint/config-conventional'],
     // 定义规则类型
     rules: {
       // type 类型定义,表示 git 提交的 type 必须在以下类型范围内
       'type-enum': [
         2,
         'always',
         [
           'feat', // 新功能 feature
           'fix', // 修复 bug
           'docs', // 文档注释
           'style', // 代码格式(不影响代码运行的变动)
           'refactor', // 重构(既不增加新功能,也不是修复bug)
           'perf', // 性能优化
           'test', // 增加测试
           'chore', // 构建过程或辅助工具的变动
           'revert', // 回退
           'build' // 打包
         ]
       ],
       // subject 大小写不做校验
       'subject-case': [0]
     }
   }

依存関係を再度インストールします。

npm install husky --save-dev

実行: `.husky` フォルダーが自動的に生成されます

npx husky install

次に実行します。「prepare」ディレクティブが package.json に生成されます。

 npm set-script prepare "husky install"

次に、次を実行します。

npm run prepare

npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'

これで完了です。では、テストしてみましょう。

  • git add 。
  • git commit -m "テスト"

  • gitcz
  • gitプッシュ

おすすめ

転載: blog.csdn.net/weixin_52479803/article/details/133697520
おすすめ