ローカルリポジトリおよびその使用をアップGitは

GIT

1. gitのは何ですか?
Gitは、世界で最も先進的な分散型バージョン管理システムです。非常に大規模なプロジェクトのバージョン管理に非常に小さいから効果的な、高速プロセス。GitはLinuxカーネルの開発とオープンソースのバージョン管理ソフトウェアの開発を管理するためにLinus Torvalds氏です。Torvalds氏は、Gitのを置き換えるために、暫定的な解決策として意図されて開発を始めましたBitK

2.gitとSVN違い
、日々の勉強や仕事で実際に、我々はまた、SVNと同様のgitリポジトリを使用し、その後、我々は二つのセクション間の差についての話

  • SVNは、集中バージョン管理システム、リポジトリは中央サーバーに焦点を当てて、作業時間は、自分のコンピュータで使用されているので、最初にすべての中央サーバーから最新のバージョンを取得する場合は、その後、仕事に、仕上がりです、我々は中央サーバーに自分で仕事を終える必要があります。スーマンあればそれができる場合の集中バージョン管理システムは、動作するようにネットワーク化されている必要があり、帯域幅は、インターネットであれば、十分に速く、LANで十分な大きさの、その後のだろうか。
  • Gitは分散型バージョン管理システムである、それは何の中央サーバーを持っていない、物事が動作する必要がない場合ようにバージョンが自分のコンピュータ上にあるため、一人一人のコンピュータは、完全なリポジトリです。みんなのコンピュータが完全にリポジトリを持っているので、個人がそれをどのくらいの共同作業をどのように?例えば、他の人は、コンピュータ上のファイルを変更し、コンピュータAに自分のファイルを変更するには、その後、あなただけの自分の変化が両者の間にプッシュお互いを与える必要があり、私たちはお互いのが変更され見ることができます。
    集中分散最大の違いに比べ、開発者は、各開発者クローニング(Gitのクローン)によって局所的にローカルマシンのGitリポジトリの完全なコピーを作ることができるということです

3.バージョン管理システムとは何ですか。

  • バージョン管理は、改正の今後の参考のシステム固有のバージョンのために、一つまたは複数のファイル内容の変更の記録です

4.分散型バージョン管理システムとは何ですか。

  • バージョン管理システム(分散型バージョン管理システム、DVCSと呼ばれる)は、分散、そのようなシステムでは、Gitは、Mercurialは、バザール、Darcsの他のクライアントと同様に、単にスナップショット・ファイルの最新バージョンをチェックしませんが、コードが完全にリポジトリをミラーリングされましたダウン。このように、任意の1台のサーバがで動作するように失敗し、その後ローカルリポジトリの回復のうち、ミラーのいずれかを使用することができます。すべてのクローン操作なので、実際にすべてのデータの完全バックアップです。

5.gitの特長

  1. (コードとバージョン情報を含む)をサーバデータベースから単一のクローン
  2. ブランチを作成し、自分のマシン上でコードを変更
  3. 作成した単一のマシン上の枝の上にコードを送信
  4. 単一のマシン上のブランチをマージします
  5. 新しいブランチを作成し、サーバコードの最新バージョンはダウンフェッチして、そのメインブランチにマージ
  6. メイン開発者に彼らのパッチを送信するために、パッチ(修正プログラム)を生成
  7. 開発者が主な競合を見つけた場合、競合を解決するためにそれらを必要とします、二つの一般的な開発者の間で(私たちは、それらの間の競合を解決するために一緒に働くことができる)、そして一人が提出した、主な開発者のフィードバックを参照してください。主要開発者自身、または競合がない、ただましたか
  8. 一般の開発者間の紛争の解決は、紛争、紛争の完全な解決を解決するために、再度コマンドを引く開発者の間で使用することができます主な開発者の後にパッチを提出します

ローカルのGitリポジトリを構築し、使用

1. gitのをインストールします。

[root@server1 ~]# yum install -y git

2.私たちの地元の倉庫を作成し、初期化

[root@server1 ~]# mkdir demo	#这里创建的版本库的名字为demo
[root@server1 ~]# cd demo/
[root@server1 demo]# ls -a
.  ..
[root@server1 demo]# git init	#进行初始化,需要在版本库目录中(这里的版本库目录为demo
Initialized empty Git repository in /root/demo/.git/
[root@server1 demo]# l.
.  ..  .git
[root@server1 demo]# ls .git/
branches  config  description  HEAD  hooks  info  objects  refs

カレントディレクトリは.gitディレクトリ以上のものを見つけることができ、そしてこのディレクトリは手動でファイル内の.gitディレクトリを変更しない一般的に、Gitリポジトリを管理することです。
3.ユーザー情報の追加
終了初期設定を、次のステップは、ユーザー名と電子メールアドレスを設定することで、各Gitは、この情報を提出した情報は、倉庫のレーベルオーナー言うことができるという事実に同梱されますが、それはコンタクト情報と言うことができます

[root@server1 demo]# git config --global user.name ljz
[root@server1 demo]# git config --global user.email ljz.redhat.com

ユーザー名とメールボックスをチェックしてください
ここに画像を挿入説明
4.駆動型ファイル、ファイル・ステータス・リポジトリを表示

[root@server1 demo]# touch file1
[root@server1 demo]# echo redhat > file1 
[root@server1 demo]# git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	file1
nothing added to commit but untracked files present (use "git add" to track)
[root@server1 demo]# git status -s
?? file1		##新添加的未跟踪的文件前面有??标志

5.ファイルを追加し、ファイルをステージング領域に配置されます

[root@server1 demo]# git add file1
[root@server1 demo]# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#	new file:   file1
#
[root@server1 demo]# git status -s
A  file1		 ##A表示已经添加到暂存区了

変更の6.提出は、実際には、現在のブランチにステージングエリアのすべての内容を提出することです

[root@server1 demo]# git commit -m "add file1"
[master (root-commit) 6be0829] add file1
 1 file changed, 1 insertion(+)
 create mode 100644 file1
[root@server1 demo]# git status -s	提交完后我们就会发现状态栏就没有文件了

7.git状態分類ステータス表示

  • 人跡未踏追加したファイルは、タグの前に入ってきました
  • 新たにマークされたファイルの前のステージングエリアに追加し、
  • 修正されたファイルは、前のMフラグを持っています。
  • Mが右側に表示され、ファイルが変更されたがまだ一時記憶領域に置かれていることを示し、
  • Mによって残されたファイルが変更され、一時記憶領域に配置されていることを示すためにそれが表示されます。
  • MMは、作業領域が変更され、ステージングエリアに提出後のワークスペースに変更されたので、ステージングエリアとワークスペース内のファイルは、レコードを変更されていたされていています
    ここに画像を挿入説明

ファイル無視8.
一般的に、我々は常にGitリポジトリを管理する文書の一部を組み込む必要はありませんが、彼らは常に追跡されていないファイルのリストに表示したくありません。これらは、一般に、コンパイル時に作成されたログファイルや一時ファイルとして自動的に生成されたファイルです。このケースでは、我々は無視するファイルモードを列挙し、.gitignoreという名前のファイルを作成することができます。
ここに画像を挿入説明
9.バージョンのロールバック
このように、あなたがファイルに変更を加えるために継続して、リポジトリへの変更をコミットし続け、Gitは同じであり、あなたはある程度、ファイルの変更を感じるたびに、「スナップショットを保存」することができます。このスナップショットGitリポジトリにコミットと呼ばれています。あなたは混沌の変更、または誤って削除したファイルを提出したら、コミット最近から回復した後、むしろ失われた仕事の数ヶ月の結果よりも、作業を続けることができます。
(1)Gitのチェックアウト-ファイル

  • 作業領域への変更を破棄し、それが最後のgit時のバック状態にファイルを追加したり、Gitはコミットすることです

    ここに画像を挿入説明
    実際には、これらは、対応するコマンドの状態を観察することによって見つけることができます

(2)のgit logコマンドは遠いの最新のコミットログ表示します
ここに画像を挿入説明
ここに画像を挿入説明

(3)のgit =としてoneline簡単・ビュー・ログ情報を--prettyログ
ここに画像を挿入説明
(4)gitのREFLOG履歴の表示
ここに画像を挿入説明
(5)gitのは^ --hard HEADをリセット

  • HEADに提出されている状態状態の提出には、HEADです ^
    ここに画像を挿入説明

(5)gitの... --hardリセット指定された状態にフォールバック
ここに画像を挿入説明

10. [削除回復

  • 直接送信されません削除した後:gitのチェックアウト - ファイルをすることができ
    ここに画像を挿入説明
  • 削除して提出した後:Gitは--hard指定された状態をリセット
    ここに画像を挿入説明

おすすめ

転載: blog.csdn.net/weixin_42446031/article/details/91874308