初心者はGitを勉強して現地でGitを使う
8619 ワード
開発者ごとにバージョン管理ツールがあるはずです.GitとSVNの中で、Gitを選びました.以下は私の心得です.
Gitとは
Gitは現在世界で最も先進的な分散バージョン制御システムである(一つもない).
一、Git取付
1)、linuxでのインストール:
Ubuntu Linuxは、sudo apt-get install git 1本でGitのインストールを直接完了することができ、非常に簡単です.
2)、windowsでインストール:
Gitの公式サイトでダウンロードして、それからすべてデフォルトを選んで、ずっとnextをクリックして
2.最初に使用した設定
1)、ユーザー名とメールボックスを設定し、ユーザーを区別する(注:windowsでは、インストール完了後にスタートメニューにGit Bashがあり、これをクリックするとGitが開き、Gitのコマンドが書かれている)
2)、バージョンライブラリの作成
バージョンライブラリを作成するのは簡単です.まず、適切な場所を選択し、空のディレクトリを作成します.
注意:最後にこのpwdは現在のディレクトリを表示するために使用されます.Windowsシステムを使用する場合は、ディレクトリ名(親ディレクトリを含む)に中国語が含まれていないことを確認してください.
3)、git initコマンドでこのディレクトリをGitが管理できる倉庫にする:
はい、Gitはインストールが完了しました.そして使い始めましょう.
4)、倉庫にファイルを書いてexampleを作成します.txt
(2).ファイルを追加し、
このコマンドは一般的に何のヒントもありませんが、このようなヒントが現れました.LF(改行、Line Feed)はCRLF(折り返し改行、CarriageReturn)に置き換えられ、作業ディレクトリに元の行末が表示されます.この警告は、フォルダがリモートに存在しないためですが、コミットには影響しません.もう一度実行すればいいです.
(3).提出
このcommitコマンドのパラメータ-mは、バージョン管理で使用できるように、今回のコミットファイルのログを追加するために、タグを付けることに相当します.
二、バージョン管理ローカル倉庫を例に、バージョン管理を説明する
1)、まずいくつかの概念ワークスペースと一時保存エリアについて話します.
ワークスペース(Working Directory)は、私たちのパソコンに見えるファイルディレクトリです.ここで私の/learngitはワークスペースで、ワークスペースには多くのブランチがあります.
ブランチ(Branching)は、その名の通り、木の葉に似た分岐である.ワークスペース全体を主幹にたとえると,分岐の概念がよりよく理解される.私たちは今Gitのメインブランチ(master)で操作しています.後でブランチ管理について話します.
私たちが以前
現在作業中のディレクトリですが、コンテンツはまだワークスペースに保存されていません.
2)、Gitの下でファイルを修正する
私たちはGitの下でファイルを操作して、どのように象を冷蔵庫に入れて類比します(これは私自身がとても好きな学習方法です):
(1).現在のワークスペースの下にあるexampleを変更します.txtファイル(象を用意して、きっと誰かが聞くことができて、冷蔵庫を用意しなくてもいいですか?はは、Gitはこの冷蔵庫です).
(2).2ステップごとにゾウを冷蔵庫に入れるに違いない
しかし、象を冷蔵庫に入れる前に、いくつかの小さな命令
修正しました.txtファイルは変更されましたが、この変更はワークスペースに提出されず、git addまたはgit commitを使用するよう求められました.
もう1つのコマンドは
このコマンドの実行が完了しても何のヒントもありません.
(3).さて、このいくつかのエピソードを学んだ後、私たちの象を冷蔵庫(倉庫のファイルを修正する)に入れる最後のステップは、冷蔵庫のドアを閉めることです(
3)、バージョンの変更:本当に複数のバージョンの前にファイルテストに切り替えて、私たちは何度もこのファイルを修正して、つまりいくつかのバージョンを多くします(この操作はvim-add-commitにほかならない).いくつかのバージョンを変更した後、
これは簡単にわかりますが、現在3つのバージョンがあり、これは逆順序でソートされています.つまり、現在のファイルのバージョンは一番上のものです.commitの後ろに付いているのがバージョン番号で、続いて2行が作者と時間で、次は私たちがcommit-mで書いたログです.(注意:あなたのファイルidは私とは違います.テスト時にあなたのものを基準にします)バージョンを変更するコマンドは
では、ログが「add third line」というバージョンに戻ります.そのバージョンidは:11 b 13721088 ea 653042 af 7986 e 0 d 5 b 1 f 1 b 29 a 9 e 9です.
ヒントを見ると、明らかに成功した.もう一つ見てみましょう
毎回このidを書くのは面倒ではないでしょうか.最初の7文字しか使えませんが、
この中には2つしかないことに気づきました.add fourth lineのバージョンに戻りたいのですが、同じ方法を使っていますが、commit-idが見つかりません.どうすればいいですか.焦らないでgitのような強力な機能は私たちを失望させません.gitバージョン管理の操作履歴を
このとき、以前のadd fourth lineバージョンのidを見つければいいです.
これでいいです.
4)、削除ファイル削除ファイルは、実は別の修正操作で、修正と同じで、まず
そして状態を見てみましょう
deletedであることがわかりましたが、commitはありません.つまりゾウを冷蔵庫から取り出したが、冷蔵庫のドアを閉めなかった.冷蔵庫のドアを閉めてライブラリから削除します
送信
そして、このファイルを確認しようとしたら、いなくなりました.
最後に、私たちは前のバージョンで戻ります.
tips:削除ファイルも同様に修正操作であり、rm file後でもよいが、gitライブラリに
Gitとは
Gitは現在世界で最も先進的な分散バージョン制御システムである(一つもない).
一、Git取付
1)、linuxでのインストール:
Ubuntu Linuxは、sudo apt-get install git 1本でGitのインストールを直接完了することができ、非常に簡単です.
2)、windowsでインストール:
Gitの公式サイトでダウンロードして、それからすべてデフォルトを選んで、ずっとnextをクリックして
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
注意:最後にこのpwdは現在のディレクトリを表示するために使用されます.Windowsシステムを使用する場合は、ディレクトリ名(親ディレクトリを含む)に中国語が含まれていないことを確認してください.
3)、git initコマンドでこのディレクトリをGitが管理できる倉庫にする:
$ git init
Initialized empty Git repository in D:/JavaWorkSoftware/git/learngit/.git/
はい、Gitはインストールが完了しました.そして使い始めましょう.
4)、倉庫にファイルを書いてexampleを作成します.txt
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(改行、Line Feed)はCRLF(折り返し改行、CarriageReturn)に置き換えられ、作業ディレクトリに元の行末が表示されます.この警告は、フォルダがリモートに存在しないためですが、コミットには影響しません.もう一度実行すればいいです.
(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)、まずいくつかの概念ワークスペースと一時保存エリアについて話します.
ワークスペース(Working Directory)は、私たちのパソコンに見えるファイルディレクトリです.ここで私の/learngitはワークスペースで、ワークスペースには多くのブランチがあります.
ブランチ(Branching)は、その名の通り、木の葉に似た分岐である.ワークスペース全体を主幹にたとえると,分岐の概念がよりよく理解される.私たちは今Gitのメインブランチ(master)で操作しています.後でブランチ管理について話します.
私たちが以前
mkdir learngit
コマンドで作成したワークスペースは、ワークスペースに隠しディレクトリ.git
があり、これがGitのバージョンライブラリ(Repository)です.現在作業中のディレクトリですが、コンテンツはまだワークスペースに保存されていません.
2)、Gitの下でファイルを修正する
私たちはGitの下でファイルを操作して、どのように象を冷蔵庫に入れて類比します(これは私自身がとても好きな学習方法です):
(1).現在のワークスペースの下にあるexampleを変更します.txtファイル(象を用意して、きっと誰かが聞くことができて、冷蔵庫を用意しなくてもいいですか?はは、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 ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
modified: example.txt
no changes added to commit (use "git add" and/or "git commit -a")
修正しました.txtファイルは変更されましたが、この変更はワークスペースに提出されず、git addまたはgit commitを使用するよう求められました.
もう1つのコマンドは
git diff
で、修正前後の2つのファイルの違いを表示するために使用されます.これはデモをしません.もう一つのgit checkout -- [ ]
は、修正を取り消しています.つまり、この時私たちは突然象を冷蔵庫に入れたくなくなりました.私たちは取り消すだけでいいです.$git checkout -- example.txt
このコマンドの実行が完了しても何のヒントもありません.
git status
でgitのステータスを確認します.つまり、このgitにはcommitを必要とするファイルがありません.$ 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-add-commitにほかならない).いくつかのバージョンを変更した後、
git log
コマンドで現在のワークスペース(実はブランチ)の状態を表示します.$ git log
commit 7b0b4f5c4c9ffc053db65ed0d7835ae62a27e0b6 (HEAD -> master)
Author: Lyn4ever
Date: Fri Jun 7 00:23:54 2019 +0800
add fourth line
commit 11b13721088ea653042af7986e0d5b1f1b29a9e9
Author: Lyn4ever
Date: Fri Jun 7 00:16:12 2019 +0800
add third line
commit 0cecffad8b547533728d2c1a9bef581c6c01f359
Author: Lyn4ever
Date: Thu Jun 6 23:45:24 2019 +0800
first example file
これは簡単にわかりますが、現在3つのバージョンがあり、これは逆順序でソートされています.つまり、現在のファイルのバージョンは一番上のものです.commitの後ろに付いているのがバージョン番号で、続いて2行が作者と時間で、次は私たちがcommit-mで書いたログです.(注意:あなたのファイルidは私とは違います.テスト時にあなたのものを基準にします)バージョンを変更するコマンドは
git reset --hard commit_id
です.試してみましょう.現在のgitにcommitされていないファイルがないことを確認してから、ファイルの内容を表示します.$ 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.
では、ログが「add third line」というバージョンに戻ります.そのバージョンidは:11 b 13721088 ea 653042 af 7986 e 0 d 5 b 1 f 1 b 29 a 9 e 9です.
$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^
で、前のバージョンはHEAD^^
です.git log
を見てみましょう$ git log
commit 11b13721088ea653042af7986e0d5b1f1b29a9e9 (HEAD -> master)
Author: Lyn4ever
Date: Fri Jun 7 00:16:12 2019 +0800
add third line
commit 0cecffad8b547533728d2c1a9bef581c6c01f359
Author: Lyn4ever
Date: Thu Jun 6 23:45:24 2019 +0800
first example file
この中には2つしかないことに気づきました.add fourth lineのバージョンに戻りたいのですが、同じ方法を使っていますが、commit-idが見つかりません.どうすればいいですか.焦らないでgitのような強力な機能は私たちを失望させません.gitバージョン管理の操作履歴を
git reflog
で表示できます$ 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
このとき、以前のadd fourth lineバージョンのidを見つければいいです.
$git reset --hard 7b0b4f5
これでいいです.
git log
また3つのバージョンが発見されました$ git log
commit 7b0b4f5c4c9ffc053db65ed0d7835ae62a27e0b6 (HEAD -> master)
Author: Lyn4ever
Date: Fri Jun 7 00:23:54 2019 +0800
add fourth line
commit 11b13721088ea653042af7986e0d5b1f1b29a9e9
Author: Lyn4ever
Date: Fri Jun 7 00:16:12 2019 +0800
add third line
commit 0cecffad8b547533728d2c1a9bef581c6c01f359
Author: Lyn4ever
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 ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
deleted: example.txt
no changes added to commit (use "git add" and/or "git commit -a")
deletedであることがわかりましたが、commitはありません.つまりゾウを冷蔵庫から取り出したが、冷蔵庫のドアを閉めなかった.冷蔵庫のドアを閉めてライブラリから削除します
$ 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.
tips:削除ファイルも同様に修正操作であり、rm file後でもよいが、gitライブラリに
git rm
およびgit commit
が到着する前にgit checkout -- fileaname
を使用して取り消すことができる