仕事の効率を2倍にする: Gitの実用的なコマンド集

仕事の効率を2倍にする: Gitの実用的なコマンド集

1. バージョン管理を理解する

バージョン管理とは何ですか?本当に必要ですか?バージョン管理は、特定のファイルの内容の変更を記録し、将来特定のリビジョンを参照できるようにするシステムです。

分散バージョン管理システムとは何ですか?分散バージョン管理システム (略して DVCS)。

Git、Mercurial、Bazaar、Darcs などのシステムでは、クライアントは最新バージョンのファイルのスナップショットを抽出するだけでなく、元のコード リポジトリ全体をミラーリングします。このように、共同作業に使用されるサーバーに障害が発生した場合、ミラーリングされたローカル リポジトリを使用して後で復元できます。各抽出操作は実際にはコードリポジトリの完全なバックアップであるため

2. 一般的な Git コマンド

git システムの設定

git config -l

git-global 設定

git config --global --list # 可以设全局公用识别的邮箱和用户名git config --global user.name 'xxxxxx' git config --global user.email '[email protected]'

プロジェクト用の個別のgit設定

# 查看git config --list # 为项目设置单独的user.name和user.email git config user.name 'xxxxxx' git config user.email '[email protected]'

Gitの初期化

ローカル初期化

git init

リモートプル

git clone 远程仓库地址

ローカル倉庫とリモート倉庫の関連付け

# 本地-建立关联-远程git remote add origin 远程仓库地址# 本地-取消关联-远程git remote rm origin

Gitの保存とコミット

ステータスを表示

git status

すべてのファイル変更の詳細を表示

git diff HEAD

指定されたファイルの変更の詳細を表示します

git diff HEAD ./README.md

追加 保存

".": 変更されたすべてのファイル

git add .或git add ./home.vue

保存手順を追加(ローカルリポジトリに送信)

 git commit -m '对这次保存添加说明描述'

プルコード

複数の人と共同で開発する場合は、将来起こりうる競合を解決するために、提出する前にコードをプルダウンしてください。

 git pull origin 分支名

コードを送信

git push origin 分支名

Gitコミットログ

提出履歴を表示

過去のコミット レコードを表示すると、削除されたコミット レコードとリセット操作を除いて、コミットされたすべてのバージョン情報が表示されます。

 git log --pretty=oneline

表示されるバーの数を制御する

git log -30 --pretty=oneline

現在のブランチのバージョン進化情報をグラフィカルに表示する

git log --graph

作成者名でコミットレコードを表示する

git log --author="John"

キーワードで投稿履歴を検索

git log -S 关键词

日付順

git log --after="2023-2-1"

フィルタリングされたマージコミットを検索する

git log --no-merges or git log --merges

情報を送信を押してください

たとえば、チームのガイドラインでコミット メッセージに関連する問題番号を含めることが求められている場合は、次のコマンドを使用して、この問題に関連するすべてのコミットを表示できます。

 git log --grep="JRA-224:"

現在のバージョンフラグを確認する

Git reflog は、Git 操作のセキュリティ対策です。すべてのブランチのコミットや削除されたコミットなど、ローカル リポジトリ内のほぼすべての変更を記録できます。

 git reflog

Gitは特定のバージョンにロールバックします

以前のバージョンにロールバックする

git reset --hard HEAD^ # 回退上一个版本git reset --hard HEAD~3 # 回退上上上一个版本git reset --hard bae128 # 回退到某个版本回退点之前的所有信息。

HEADの説明:

  • HEADは現在のバージョンを示します
  • HEAD^ 以前のバージョン
  • HEAD^^ 以前のバージョン
  • HEAD^^^ 前のバージョン
  • 等々...

デジタル表現を活用できる

  • HEAD~0は現在のバージョンを示します
  • HEAD~1 前のバージョン
  • HEAD^2 以前のバージョン
  • HEAD^3 前の前のバージョン
  • 等々...

Git ブランチの指示

すべての支店を表示

git branch -a

ブランチを切り替える

git checkout 分支名

ローカルブランチを作成する

git branch 新分支名# 创建并切换到新分支git checkout -b 新分支名

指定されたバージョン番号に基づいてブランチを作成する

git checkout -b 分支名提交ID

ローカルブランチをリモートリポジトリにプッシュする

git push origin 新分支名

ローカルブランチを削除する

これは「安全な」操作です。Git は、マージされていない変更があるブランチの削除を防ぐためです。

 git branch -d 分支名

ローカルブランチを強制的に削除する

マージされていない変更がある場合でも同様です。特定の開発ラインに関連するすべてのコミットを永久に破棄したい場合は、このコマンドを使用できます。

 git branch -D 分支名

リモートリポジトリのブランチを削除する

git push origin --delelte 分支名

すべてのリモートリポジトリを表示

リポジトリソース名を表示する

git remote -v

リモートブランチリストを更新する

git remote update origin(仓库源名称) --prune

すべてのブランチをリモートリポジトリにプッシュする

git push origin(仓库源名称) --all

競合があっても、現在のブランチをリモートリポジトリに強制的にプッシュする

git push origin(仓库源名称) --force

Git マージブランチ

開発ブランチをマスターブランチにマージしたい

git checkout master # 首先切换到master分支上git pull origin master # 如果是多人开发的话需要把远程master上的代码pull下来git merge --no-ff develop # 然后我们把develop分支的代码合并到master上

git merge development と git merge --no-ff development の違い

git merge develop ==== > 结果就会变成A---B---C develop / master D---E---F

このステートメントを実行すると、develop は master の下流にあるため、master のポインターが直接移動し、master とdevelop の両方が C を指すようになります。

git merge --no-ff 機能を実行すると、結果は次のようになります。

 git merge --no-ff develop ==== > 结果就会变成A---B---C develop / \ D---E---F-----------G master由于--no-ff 禁止了快进,所以会生成一个新的提交,master 指向G。

マージされたコードの観点から見ると、結果は実際には同じです。違いは、--no-ff を使用すると Git が新しいコミット オブジェクトを生成することです。通常、比較的安定したコードを格納するメイン ブランチとして master を使用しますが、機能の開発には feature が使用され、断片化されたコミットが多数存在します。早送りマージでは、機能のコミット履歴がマスターに混在し、マスターのコミット履歴が混乱します。

Git タグ

タグリストを表示

git tag -l

ローカルでタグを追加する

git tag -a 标签名-m '版本说明'

タグ情報を表示

git show 标签名

ローカルでタグを削除する

git tag -D 标签名or git tag -d 标签名

ローカルタグをリモート倉庫にプッシュする

git push origin 标签名

リモートリポジトリタグを削除する

git push origin --delete 标签名

注記

  • cmd で log コマンドを使用すると、自動的に終了しません。終了するには、英語で手動で q を押す必要があります。

よくある Git エラー

1. 最後のコミットメッセージを変更する - コミットメッセージが間違っている

(編集するには i を押し、編集後は ESC を押します。保存して終了する場合は :wq を使用します。終了する場合は :q と入力します。間違えた場合は保存せずに終了し、:qa を使用します!)

 git commit --amend #该命令将打开编辑器,并允许更改最后一次提交消息

2. Gitはコミットを取り消したが、コンテンツをプッシュしない

git log git reset e102c05227bca7517554777f589f130305b69427 #保留提交之前的更改到工作区

3. 単一のファイルを指定したバージョンにロールバックする

git log vue.config.js #拿到文件提交记录ID git checkout e102c05227bca7517554777f589f130305b69427(commitID) vue.config.js #将文件还原到你想要还原的版本

4. 対立を解決する

すべての開発者がこのルールに従っている限り、競合の解決は非常に簡単な作業になります。

  1. たとえば、私のブランチは dev ブランチと呼ばれます。コードの修正は完了しましたが、競合があるかどうかはわかりません。
  2. dev ブランチで、git merge origin/master コマンドを実行して、リモートの master ブランチを現在の dev ブランチにマージします。エラーがない場合は、直接手順 5 に進みます。
  3. 競合がある場合は、プロンプトに従って解決し、ファイルを保存します。次に、git add xxx コマンドを実行して、変更したファイルをキャッシュ領域に追加します。次に、git commit -m "xxx" コマンドを実行してコミット情報を追加します。
  4. マスター ブランチに切り替えるには、次のコマンドを実行します: git checkout master。
  5. git pull コマンドを実行して、現在のマスター ブランチが最新のコードであることを確認します。
  6. devブランチのコードをmasterブランチにマージします: git merge dev
  7. コードを送信: git push。

<<:  Kubernetes でのイベント収集とアラートの監視

>>:  マルチクラウド時代が到来します。この記事で何をすべきかを学びましょう。

推薦する

ヤフー中国の再設計から見るウェブマスターの今後の方向性

今日、admin5でYahoo Chinaのホームページのデザイン変更に関するニュースを見たので、確...

Yahooドメイン名登録は1.99ドル

Yahoo ドメイン名の登録料が 1.99 ドルであることはもはやニュースではありません。しかし、し...

怠惰なマーケティングは夢ではありません。怠惰になるための 4 つのことを行います。

インターネットマーケティングは、常に多くの困難を伴うと考えられてきました。多くの時間がかかるだけでな...

SUSE: オイラーオープンソースコミュニティと連携してクラウドネイティブの実装を加速

[[431158]] 8月27日夜、天津市国有資産監督管理委員会は「国有企業のクラウド移行の加速と国...

SEO専門家は皆人民元によって追い出される

みなさんこんにちは。私はShi Touです。 SEO エキスパートになる方法に関する記事をオンライン...

最近の百度Kステーション事件のジレンマにウェブマスターがどのように対処すべきかについての簡単な議論

6月28日の事件は再びエスカレートし、7月18日に事件が勃発した。ウェブマスターの忍耐は限界に達して...

SEOを行う際は、一人で戦わないでください

社内ではいつでも、リーダーがチームスピリットを強調するのを耳にします。SEOでも同じです。今はもう一...

NetEase Cloud Computing が無料 SaaS 版をリリース、ローコード開発者に 10 万の雇用を創出

最近、浙江省工業ソフトウェア産業技術連盟と浙江省ソフトウェア産業協会の指導の下、NetEase Cl...

6つのWeiboマーケティングプランを共有してください。あなたにぴったりのプランが必ず見つかります

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeiboは、インターネ...

デジタルマーケティング:トラフィックをマスターするケダのロジック

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますインターネ...

まとめ:年間100元を超えない安価な海外VPS業者のまとめ

VPS(クラウドサーバー)の用途、人口、消費能力など多くの要素を考慮すると、年間支払いが100元未満...

2017 年のクラウド コンピューティングとデータ センター業界のレビューと概要

2016 年を振り返ると、多くの大企業がデータセンターのワークロードをクラウドに移行する計画を立てて...

SEOチュートリアル: 無視できないウェブサイト内部構造の最適化

多くの人は SEO を行う際に混乱し、ウェブサイトのデータ、トラフィックが変化したかどうか、キーワー...

SEO ウェブサイト最適化 ウェブサイト構造最適化 スキル共有

SEO ウェブサイトの最適化に関しては、オンサイトとオフサイトだけが重要です。諺にあるように、経済基...