Git入門 + 共通操作コマンド

Git の概要:

Git は、大小を問わずあらゆるプロジェクトを機敏かつ効率的に処理できる、無料のオープンソース分散バージョン管理システムです。
Git は、小規模から大規模までのプロジェクトのバージョン管理を効果的かつ高速に処理できるオープンソースの分散バージョン管理システムです。Git は、Linux カーネル開発の管理を支援するために Linus Torvalds によって開発されたオープン ソースのバージョン管理ソフトウェアです。

アドバンテージ

  1. 個人を重視した分散開発に適しています。
  2. パブリックサーバーの負荷やデータ量が大きすぎることはありません。
  3. 高速かつ柔軟。
  4. オフライン作業;

欠点がある

  1. コードの機密性チェック。開発者がライブラリ全体を複製すると、すべてのコードとバージョン情報が完全に公開されます。
  2. 不親切なアクセス制御。

Git と SVN の違い

SVN は集中型バージョン管理システムですが、Git は分散型バージョン管理システムです。Git と SVN の違いについては、Git と SVN の違いを参照してください。Git と SVN の違い

Git ワークフロー

  1. リモート ウェアハウスからローカル ウェアハウスとして Git リソースのクローンを作成します。
  2. ローカル ウェアハウスからコードをチェックアウトし、コードを変更します。
  3. ローカルの倉庫に送信する前に、コードをステージング領域に送信します。
  4. 変更を送信してローカル ウェアハウスに送信し、変更のさまざまな履歴バージョンをローカル ウェアハウスに保存します。
  5. チーム メンバーとコードを共有する必要がある場合は、変更したコードをリモート ウェアハウスにプッシュできます。

Git ワークフローのフローチャート

ここに画像の説明を挿入

Git のいくつかの中心的な概念

ワークスペース、ステージングエリア、バージョンライブラリ、リモートウェアハウス

git と svn などの他のバージョン管理システムの違いの 1 つは、ステージング領域の概念です。
ここに画像の説明を挿入
ワークスペース: ワークスペースは、通常プロジェクト コードを保存する場所です。

インデックス / ステージ: 一時ストレージ領域。変更を一時的に保存するために使用されます。実際には単なるファイルであり、ファイル リストに送信される情報を保存します。

リポジトリ: ウェアハウス領域 (またはバージョン ライブラリ) は、データが安全に保管される場所であり、すべてのバージョンに送信したデータが含まれています。HEAD がウェアハウスに置かれた最新バージョンを指す場所

リモート: コードをホストするサーバーであるリモート ウェアハウスは、リモート データ交換のためのプロジェクト チーム内のコンピューターと単純に考えることができます。

ブランチ

Git の各コミットはタイムラインにそれらをストリングします。このタイムラインはブランチです。今のところ、タイムラインは 1 つだけですが、Git では、このブランチをメイン ブランチ、つまりマスター ブランチと呼びます。厳密に言うと、HEAD ポインタはサブミッションではなくマスターを指し、マスターはサブミッションを指します。
最初は、マスター ブランチは 1 行です。Git はマスターを使用して最新のサブミッションを指し、次に HEAD を使ってマスターを指すため、現在のブランチと現在のブランチのサブミット ポイントを決定できます。サブミットが行われると、master ブランチは 1 ステップ先に進みます
ここに画像の説明を挿入
このように、サブミットが継続されると、master ブランチの行はどんどん長くなっていきます。

dev などの新しいブランチを作成すると、Git は dev という新しいポインターを作成します。これはマスターと同じコミットを指し、次に HEAD を dev に指します。これは、現在のブランチが dev 上にあることを意味します。 Git はブランチを作成します。 Dev ポインタを追加するだけでなく
ここに画像の説明を挿入
、HEAD ポインティングを変更しても、ワークスペース内のファイルは変更されていないため、非常に迅速に実行できます。

ただし、dev ブランチに切り替えた後、ワークスペースの変更と送信は dev ブランチを対象とします。たとえば、新しい送信の後、dev ポインタは 1 ステップ進みますが、マスター ポインタは変更されません。完了したら、
ここに画像の説明を挿入dev を master にマージできます。Git はどのようにマージしますか? 最も簡単な方法は、マスターに dev の現在のコミットを直接指定することです。これでマージが完了します。
ここに画像の説明を挿入
そのため、Git はブランチを非常に迅速にマージします。ポインタを変更するだけで、ワークエリアの内容は変わりません。

ブランチのマージが完了した後、dev ブランチを削除することもできます。dev ブランチを削除すると、dev ポインタが削除され、削除後は master ブランチが残ります。
ここに画像の説明を挿入

ローカル プロジェクト git が初期化され、リモート ライブラリを送信します。

1. 間違いを避けるために、まずリモート ウェアハウス (github など) にプロジェクトを作成し、README、ライセンス、gitignore ファイルを初期化しないでください。

2.ターミナルターミナルを開きます

3. ローカルのプロジェクト ディレクトリに切り替えます。

4. ローカルウェアハウスを初期化する

$ git init 

5. ローカルウェアハウスにファイルを追加する

$ git add . 

6. 書類の提出

$ git commit -m "First commit"

7. リモート倉庫のアドレスをローカル倉庫に追加します

$ git remote add origin {
    
    远程仓库地址}

8. リモート倉庫にプッシュする

$ git push -u origin master

クローン操作コマンド

1. ローカル倉庫のアカウントとメールボックスを構成する

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

2. リモートアクセスのたびにパスワードを入力する手間を省くため、ログインにはsshを使用します。ssh はネイティブ情報とバインドする必要があります。コンピュータのC:\Users\Administratorディレクトリに .ssh フォルダがあるかどうかを確認します。そうでない場合は、生成する必要があります。

$ ssh-keygen -t rsa -C "[email protected]"

3.クローンコマンド

$ git clone git@github.com:michaelliao/gitskills.git

4. 指定した枝のコードをプルします。

git clone -b dev http://xxx.git

Enter キーを最後まで押します。

分岐操作コマンド

1. ローカルブランチを表示する

git branch

2. 新しいブランチを作成する

git checkout -b new-branch  //创建并切换到分支feature-branch并切换新分支

3. リモートブランチを表示する

git branch -a //列出所有分支名称

4. ローカル ブランチをリモート ブランチにプッシュします。

git push origin my-branch:new-branch //推送本地的my-branch(冒号钱面的)分支到远程origin的new-branch(冒号后面的)分支(没有会自动创建)

5. git Push new-branch を実行すると、リモート ウェアハウスを関連付けることができないというエラーが発生します。このとき、次のコマンドを実行します。

git push origin HEAD:new-branch //关联远程仓库

6. リモートブランチを削除します

git push origin :xn  //将一个空分支推送到远程即为删除
git push origin --delete cn //功能同上

焦点: プロセス操作コマンドの概要

git checkout -b dev origin/dev  //作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
git checkout -b release origin/release  //checkout远程的release分支,在本地起名为release分支,并切换到本地的release分支
git checkout dev  //切换回dev分支,并开始开发
git init //初始化当前目录为git仓库,该目录下会生成.git文件,一般情况不修改这个文件
git remote add origin git@xxx //连接github
git fetch //fetch 后可看见远程相关分支信息
//(此时,git branch  看不到任何本地分支信息,本地master分支虽然默认分支,但需第一次commit后才会真正存在)
//在当前目录下随便建一个文件 test.txt
git add test.txt //add 文件到暂存区
git commit -m"first commit for init"   //提交到本地版本库
git branch -a //此时,可以看见本地和远程所有的分支信息
git branch  dev //本地建立一个分支
git branch --set-upstream-to=origin/dev dev //将远程分支dev和本地分支dev关联
git pull //可拉取远程分支dev上的代码到本地并由本地分支dev管理 ;若远程和本地分支没有做关联,pull需要指定远程和本地分支信息
git  rm  test.txt //删除本地版本库中的test.txt文件,工作区的文件可手动删除

おすすめ

転載: blog.csdn.net/qq_42697806/article/details/119567667