- Gitのイントロダクション
gitの(明白/gɪt/。)オープンソース分散バージョン管理システムであり、非常に大規模なプロジェクトのバージョン管理に非常に小さいから効果的に、高速処理。GitはLinuxカーネルの開発とオープンソースのバージョン管理ソフトウェアの開発を管理するLinus Torvalds氏へのヘルプです。
「バージョン管理」とは何ですか?なぜ私はそれを気にする必要がありますか?バージョン管理は、改正の将来のリファレンスシステム固有のバージョンの一つまたは複数のファイル内容変更の記録です。
Gitは分散型バージョン管理システムであり、それは何の中央サーバーを持っていない、一人一人のコンピュータが完全なリポジトリですので、彼らはリポジトリに自分のコンピュータ上にあったので、仕事は、ネットワーキング必要がない場合。今、すべての人のコンピュータは、どのくらいの人がそれをどのように協力し、完全なリポジトリを持っていますか?たとえば、コンピュータAに自分のファイルを変更するには、他の人がコンピュータにAファイルを変更し、その後、あなただけの自分の変化が両者の間にプッシュお互いを与える必要があり、我々は変更お互いのを見ることができます。
次のように主な特徴は以下のとおりです。
1.コントロールバージョン
2.分散
作業プロセスがローカルサーバにダウンロードされたコードである3を、ローカルの開発は、サーバーに送信、完了です
- GitリポジトリとSVNの比較
1.gitは、分散され、SVN集中されます。(コア)は
、各バージョンは簡単に回復のための完全な履歴ファイルを格納している、のsvn diffファイルが格納されている、バージョン履歴を復元することはできません2.git。(コア)
3.gitほとんどの操作は、オフラインでのsvnはできません行うことができます。
4.gitは、よりエレガントな分岐とマージの実装を持っています。
5.gitは強いアンドゥの変更やバージョン履歴変更する機能がある
より速く、より効率的な6.gitを。
上記差に基づいて、Gitはそれがローカル倉庫を有し、特にその中で、明らかな利点を有しています。
- 三つの状態:
Gitはあなたのファイルは、そのうちの一つであってもよく、3つの状態があります。、修正(変更)およびステージングされているされている(コミット)に提出されました(上演)。提出されたデータはローカルセキュリティデータベースに格納されていたことを示しています。表現変更は、ファイルを変更しますが、データベースに保存されません。ステージングは、次の提出のスナップショットが含まれるようにマークされて、現在のファイルの修正バージョンを表明しています
- Gitリポジトリの概念
1.作業ディレクトリ
作業ディレクトリは、プロジェクトのバージョンは独立して、あなたが使用したり、変更するために、ディスク上のGitリポジトリファイルに圧縮されたデータベースから抽出されたものの内容を抽出しています。
2.ステージング領域は
、ファイルが通常のGitリポジトリのディレクトリに、次のリスト情報に提出される保存、ファイルです。時には`「インデックス」」と呼ばれるが、一般的なビューは、ステージング領域と呼ばれています。
3.Gitリポジトリディレクトリは、
ローカルのGitメタデータとオブジェクトデータベースプロジェクトを保存するために使用されます。データがコピーされている別のコンピュータからリポジトリをクローンする場合これは、Gitのの最も重要な部分であります
- Gitのワークフロー
作業ディレクトリ内のファイルを変更します>一時ファイル、ステージング領域にスナップショットファイル>は、更新を提出するステージングエリア内のファイル、永続的にGitのリポジトリのディレクトリに保存されたスナップショットを探します。
Gitのディレクトリは、ファイルの特定のバージョンを保持している場合、状態に所属して提出。あなたが変更され、ステージング領域に配置されている場合は、すでに一時的な状態に属しています。最後のタイムアウトするので、しかし、ステージング領域に変更されていない場合は、状態が変更されます。
- Gitのリポジトリ
Gitのリポジトリプロジェクトを取得するには、2つの方法があります。最初のGitへの既存のプロジェクトまたはディレクトリ内のすべてのファイルをインポートすることで、2番目は、サーバから既存のGitリポジトリをクローンすることです。
- 簡単なインストールと操作
ステップ1:(ここではApacheのデモ付き)のhttpdのgitをインストールします。
YUMのgitのhttpdをインストール-y
ステップ2:初期ディレクトリ
gitの初期化
ステップ3:ファイルを作成し、提出します
echo 111 >> index.html
git add . #提交文件至暂存区域
git commit -m "v1" #提交文件至仓库
执行:
git config --global user.name "Your Name"
git config --global user.email [email protected]
echo 222 > index.html #再次修改文件
git add . #进行提交
git commit -m v2 #v2版本
cat index.html #查看文件内容
git log #获取提交信息
git reset --hard 3d0f76d1205fe #执行回滚至v1 后需跟comit ID
git relog #获取所有的历史提交信息
git reset --hard 59ed7a8 #回滚至版本v2
- git不同阶段回滚
1.工作目录回滚
echo 33 > index.html #修改文件
git status #查看文件状态
git checkout -- index.html #撤销工作目录文件
cat index.html
2.暂存区域
echo 33 >index.html
git add .
git status
git reset HEAD index.html
git checkout -- index.html
3.仓库
git log
git relog
git reset --hard 59ed7a8ca4a
- git分支:
1.查看分支
2.创建分支
3.切换分支
4.合并分支
1)查看分支
git branch
2)创建分支
git branch tian
3)切换分支
git checkout tian
echo 33 > index.html
git log
4)合并分支
git log
git merge tian #把分支合并到当前分支