ローカルでの使用のGit Gitのを学ぶ初心者

各開発者は、GitリポジトリとSVNでバージョン管理ツールとなるでしょう、私はGitのに選んだ、ここでは私の経験の一部です

Gitは何ですか

Gitは、世界で最も先進的な分散型バージョン管理システム(誰)です。

、Gitのインストール

1)、Linuxが搭載しました:

Ubuntu Linuxのは、須藤はapt-getをインストールgitのでGitのインストールは非常に簡単で直接行うことができます。

2)、インストール時の窓:

Gitの公式サイトダウンロードするために、すべてのことを次のポイントまで、デフォルトで選択

いくつかの設定を最初に使用する2。

1)、ノート(ユーザーを区別するために、ユーザー名とメールボックスを設定する:Windowsでは、インストールが完了すると、[スタート]メニューでのGit Bashのがあり、あなたはGitリポジトリを開くことができ、この上でクリックすると、Gitは、コマンド内に記述されます)

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

2)リポジトリを作成します。

リポジトリを作成すると、まず、非常に単純で、空のディレクトリを作成し、適切な場所を選択します。

$ mkdir learngit
$ cd learngit
$ pwd 
D:/JavaWorkSoftware/git/learngit

注意:あなたは、Windowsシステムを使用する(親ディレクトリを含む)ディレクトリ名は、中国が含まれていないことを確認した場合、この最後のPWDは、現在のディレクトリを表示するために使用されます。

3)、このディレクトリになるためのgit initコマンドによって、あなたはGitリポジトリを管理することができます。

$ git init
Initialized empty Git repository in D:/JavaWorkSoftware/git/learngit/.git/

インストールが完了した場合でもまあ、あなたのGitの。そして、それを使用し始めました。

4)、我々はリポジトリにファイルを書き込み
、EXAMPLE.SQLを作成します

This is an example file,
This is creat in Git.

(2)を使用し、その中のファイルを追加しgit add、コマンドを

$ git add example.txt
warning: LF will be replaced by CRLF in example.txt.
The file will have its original line endings in your working directory

このコマンドは、一般的に任意のヒントを持っていないが、上記の暗黙のように私が現れました。
意味何か:LF(ラインフィード、ラインフィード)がCRLF(キャリッジリターンライン、キャリッジ・リターン)となります置き換える
元の文書は、作業ディレクトリに行の終わりを持っています。
タイムズこの警告は、リモートフォルダが原因で存在していませんが、提出には影響しません。私たちは、その後、一度だけ実行します。

(3)提出git commit

$ git commit -m "first example file"
[master (root-commit) 0cecffa] first example file
1 file changed, 2 insertions(+)
create mode 100644 example.txt

commitコマンドを-mこのパラメータは、それは我々がバージョン管理に使用できるように、この提出のログ、マーカーをやってと同等のものを追加することで、必要不可欠です。

tips:在git中只有存纯文本文件,如.txt .java .md 不能存其他文件,同时,这些纯文本文件要是UTF-8编码

第二に、バージョン管理
ローカル倉庫には、例えば、バージョン管理を説明します

1)、我々はいくつかの概念について話を
ワークエリア、ステージングエリア

ワークスペース(作業ディレクトリ)、それは私たちのコンピュータのファイルディレクトリにあるがI / learngitは、作業領域で、ワークスペースに支店がたくさんあることをここで見ることができます。

(分岐)支店は、定義により、葉の枝に似ています。私たちは、トランクよりも全体の作業領域を決定する、枝は、より良い理解にあります。私たちは、支店管理の後ろについて話をされるのGit(マスター)運転のメインブランチになりました。

私たちが使用する前にmkdir learngit、ワークスペースの隠しディレクトリが存在しているワークスペースを作成するためのコマンドを.git、これはGitのあるリポジトリ(リポジトリ)

エリアをステージング、それは我々が現在動作しているディレクトリですが、内容はワークスペースに保存されていません

2)、Gitの下で変更されたファイル

私たちは、Gitリポジトリ内のファイルの下で動作し、どのように象が(私は非常に好きだな学習方法です)冷蔵庫のアナロジーに入れ:

(1)私たちは、現在の作業領域内のファイルを変更し、EXAMPLE.SQL(準備象を、きっと誰かがあなたのアイスボックスを準備していない、聞いてきます?ハハ、Gitはこの冷蔵庫です)。

This is an example file,
This is creat in Git.
This is third line.

(2)各2ステップは象が冷蔵庫に入れて確認することです、我々は使用git addコマンドを

しかし、冷蔵庫に入れゾウの前に、のは、いくつかの小さなコマンドを学びましょう
git status 查看当前git 的状态

$git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified: example.txt

no changes added to commit (use "git add" and/or "git commit -a") 

ファイルが変更、EXAMPLE.SQL
変更されていますが、この変更は、ワークスペースに提出していなかった、あなたはgitの追加やgitのにコミットするように要求されます

別のコマンドがされたgit diffこのデモをしない、変更前と変更後に2つのファイルの違いを表示するために使用します。
もう一つはgit checkout -- [文件名]、変更を元に戻す、この時間は、我々は突然象は冷蔵庫に入れたくないことを、我々は十分なだけを元に戻す必要があります。

$git checkout -- example.txt

このコマンドは、実装後の任意のヒントを持っていません。私たちは、と続きgit status、これは、我々はあなたがコミットしたいすべてのファイルを持っていないことを意味gitの、私たちのgitの状態で表示

$ git status
On branch master
nothing to commit, working tree clean

(3)さて、これらの小さなエピソードが終了した後、私たちは私たちの象は冷蔵庫の最後のステップ(ライブラリ内のファイルを変更)に入れていき、(冷蔵庫のドアを閉じることですgit commit -m)。
私達はちょうど操作は、我々は再びそうする必要があり、変更を元に戻す行いました。

This is an example file,
This is creat in Git.
This is third line.

$git add example.txt
$git commit -m "add third line"

3)、交換用のバージョン:複数のバージョンの前に、実際のスイッチ
テストのための文書、我々は数回以上、いくつかの複数のバージョン(この少し、VIM以外の何物でも、このファイルを、修正-追加-コミットを)。
あなたはいくつかのバージョンを変更した後、我々は使用しgit log、現在のワークスペース(実際に分岐)の状態を表示するコマンドを。

$ git log
commit 7b0b4f5c4c9ffc053db65ed0d7835ae62a27e0b6 (HEAD -> master)
Author: Lyn4ever <[email protected]>
Date: Fri Jun 7 00:23:54 2019 +0800

add fourth line

commit 11b13721088ea653042af7986e0d5b1f1b29a9e9
Author: Lyn4ever <[email protected]>
Date: Fri Jun 7 00:16:12 2019 +0800

add third line

commit 0cecffad8b547533728d2c1a9bef581c6c01f359
Author: Lyn4ever <[email protected]>
Date: Thu Jun 6 23:45:24 2019 +0800

first example file

これは、理解しやすいということである、このドキュメントの現在のバージョンは、この最も上位で、逆の順番で3つのバージョンで利用可能になりました。その背後に従うことをコミットすると、2つのラインに続くバージョン番号は、著者と時間であり、その後、下記の我々は-mコミット時にログに書いたものです。(注:お使いのファイルIDを、私は確かにテストがあなたの主題を取る必要があるときに好きではない)
コマンドの修正バージョンをgit reset --hard commit_id、我々は試してみて下さい。
ファイルをコミットしないでは電流のgitがないことを確認し、そのファイルの内容を表示

$ git status
On branch master
nothing to commit, working tree clean
$ cat example.txt
This is an example file,
This is creat in Git.
this is third line.
this is forth line.

さて、私たちはこのバージョンを「第三の行を追加します。」とログに戻ります、バージョン番号は次のとおりです。11b13721088ea653042af7986e0d5b1f1b29a9e9

$git reset --hard 11b13721088ea653042af7986e0d5b1f1b29a9e9
HEAD is now at 11b1372 add third line

見てヒントは、明らかに、それが成功することです。私たちは、見て

$ git status
On branch master
nothing to commit, working tree clean
$ cat example.txt
This is an example file,
This is creat in Git.
this is third line.

このIDを書くたびに、その後あまりにも面倒ではありません、我々は最初の7つの文字を使用することができますが、もっと簡単な方法があります使用することですHEAD^代わりに。HEAD ^いくつかを書き、前方に、いくつかのバージョンを現在のバージョンを表します。以前のバージョンでは、HEAD^上側の1がある上、HEAD^^

この時、私達は私達のの1を見てくださいgit log

$ git log
commit 11b13721088ea653042af7986e0d5b1f1b29a9e9 (HEAD -> master)
Author: Lyn4ever <[email protected]>
Date: Fri Jun 7 00:16:12 2019 +0800

add third line

commit 0cecffad8b547533728d2c1a9bef581c6c01f359
Author: Lyn4ever <[email protected]>
Date: Thu Jun 6 23:45:24 2019 +0800

first example file

2つだけが内部を見つけ、そして私は、バージョン、同じ方法であることを第四の行を追加して返すようにしたいが、私はコミット-idはどのように行うには見つけることができませんか?急ぐは、Gitの非常に強力私たちを失望させません。私たちはできるgit reflog操作履歴Gitのバージョンコントロールを表示します

$ git reflog
11b1372 (HEAD -> master) HEAD@{0}: reset: moving to 11b13721088ea653042af7986e0d5b1f1b29a9e9
7b0b4f5 HEAD@{1}: commit: add fourth line
11b1372 (HEAD -> master) HEAD@{2}: commit: add third line
0cecffa HEAD@{3}: commit (initial): first example file

この時、私たちは前にそれの上に、IDの4行目のバージョンを追加しました。

$git reset --hard 7b0b4f5

それはとても良かったです。git logまた、三つのバージョンを見つけました

$ git log
commit 7b0b4f5c4c9ffc053db65ed0d7835ae62a27e0b6 (HEAD -> master)
Author: Lyn4ever <[email protected]>
Date: Fri Jun 7 00:23:54 2019 +0800

add fourth line

commit 11b13721088ea653042af7986e0d5b1f1b29a9e9
Author: Lyn4ever <[email protected]>
Date: Fri Jun 7 00:16:12 2019 +0800

add third line

commit 0cecffad8b547533728d2c1a9bef581c6c01f359
Author: Lyn4ever <[email protected]>
Date: Thu Jun 6 23:45:24 2019 +0800

first example file

4)、ファイルは削除し
、実際には、他の変形操作をファイルを削除、変更は最初、同じでrm file削除して、その後git commitにワークスペースに提出しました。

$rm example.txt

その後、我々は、私は状態を見て

$ git status
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

deleted: example.txt

no changes added to commit (use "git add" and/or "git commit -a")

削除されることがわかったが、コミットしませんでした。それは象が冷蔵庫から取り出したが、冷蔵庫のドアに関連していないされています。だから我々は、冷蔵庫のドアを閉め
ライブラリとスタートを削除します

$ git rm example.txt
rm 'example.txt'

その後、提出

git commit -m "delete example"

その後、私は、このファイルを見てみたいと死体で発見しました。

$ cat example.txt
cat: example.txt: No such file or directory

最後に、我々は、使用するために、以前のバージョンに戻り。

$ git reset --hard 7b0b4f5
HEAD is now at 7b0b4f5 add fourth line

$ cat example.txt
This is an example file,
This is creat in Git.
this is third line.
this is forth line.

ヒント:ファイルを削除しても操作がRMファイルの後に実行することができるが、それはしていない変更されたgit rmgit commitあなたが使用する前にgitリポジトリgit checkout -- fileaname元に戻します

おすすめ

転載: www.cnblogs.com/Lyn4ever/p/10987444.html