1. gitとsvnの違い
svnは一元化されたバージョン管理システムです
gitは分散バージョン管理システムです
集中式:
svn一元化されたバージョン管理がすべてのバージョンをsvnサーバーに保存していることがわかります
また、バージョンのロールバック、更新、その他の操作を実行するには、svnサーバーに接続する必要があります。
ある日SVNサーバーが故障すると、すべてのバージョンコードが失われ、コードを取得してバージョンをロールバックできなくなります。神様、これは悲しい話になるでしょう!
悲しみを幸せに変える方法、gitがどのように機能するか見てみましょう!
分散:
gitを使用すると、各コンピューターに完全なバージョン番号とログ情報があることがわかります。
インターネットがなくてもgitは機能します。ローカルにコードを送信するだけで、インターネットがリモートのgitウェアハウスに送信されます。
ローカルリポジトリはフルバージョンを保持するため、gitサーバーが1日故障しても問題はありません。
GitHubサーバーを構築します(Linuxサーバーの監視後に参照):http : //blog.w0824.com/2018/07/09/Centos%E6%90%AD%E5%BB%BAGIT%E6%9C%8D%E5% 8A%A1%E5%99%A8 /
無料のサードパーティプラットフォーム:github、コードクラウド、https://coding.net/
Gitの発明者:Linuxの創設者Linusです
Linuxのいくつかのコマンド:
ls:ディレクトリ(リスト)内のファイルを表示する
クリア:画面をクリアします
pwd:現在の作業ディレクトリを表示します
2. gitツールをインストールします
システムのビット数に注意してください。
インストール時にインストールパスを選択してから、次に進みます。インストール後、マウスの右ボタンには次の2つのオプションがあり、gitツールのインストールが完了したことを示します。
3. gitリポジトリを取得する
gitリポジトリを取得するには2つの方法があります。
1つは、ローカルディレクトリでgit initコマンドを実行して、ウェアハウスを初期化することです。
2つ目は、リモートサーバーからウェアハウスをプルすることです。githubからのプル、または自分でビルドしたgitサーバーからのプルなど。
ここでは、2番目の方法でgithubにウェアハウスを作成する方法の説明に焦点を当てています。1番目の方法は単純すぎます。
(1)githubにウェアハウスを作成する
倉庫の作成は比較的簡単です。次の図を参照してください。
1.プラス記号+をクリックし、[新しいリポジトリ]を選択して新しい倉庫を作成します
2.倉庫を作成するための情報を入力します
作成すると、次のようになります。
4.リモートウェアハウスコードをローカルにクローンします。
リモートウェアハウスコードを指定したディレクトリに複製します。
コマンド:git cloneウェアハウスアドレス[ディレクトリ]
注:ディレクトリ名を書き込まないと、現在のディレクトリにgithubリポジトリと同じ名前のディレクトリが作成されます
たとえば、次の命令は、ウェアハウスコードを現在のディレクトリ(./)にチェックアウトすることを表しています。
git cloneウェアハウスアドレス./
倉庫の住所は次の場所にあります。
ウェアハウスアドレスには、httpsとsshの2つのプロトコルがあります。後でsshプロトコルを使用すると、コードをプッシュするたびにパスワードを入力する手間を省くことができます。
完全なコマンド:git clone https://github.com/ww24kobe/test_project.git ./、成功すると、ディレクトリに.git隠しフォルダーが追加されます。
5. gitワークフロー
gitリポジトリには、次の3つの部分が含まれています。
ワークスペース:これは私たちのコンピューターで見ることができるディレクトリです。
一時保管場所:英語名はステージまたはインデックスです。通常は「.gitディレクトリ」のインデックスファイルに格納されています。
ローカルリポジトリ:ワークスペースに隠しディレクトリ.gitがあります。これはワークスペースではなくgitリポジトリです。そして自動的にマスターブランチとそれが現在置かれているブランチへのHEADポインターを作成します
次のように:
上記の3つでは、背面にある多くのgitコマンドが使用されています。
6. gitが開発で一般的に使用する手順
lグローバル設定:最初に送信するユーザー名と電子メールアドレスを設定する必要があります。設定しないと、コードを送信できません。コードの担当者は後で見つけることができます
git config --global user.name name#名前は何ですか
git config --global user.email mailbox#連絡方法
削除--globalは現在のプロジェクトでのみ有効です
git config user.name name#名前は何ですか
git config user.email mailbox#連絡方法
l構成情報を表示する
git commit --helpなどのコマンドの使用方法を確認するには、git config --list
l指定したディレクトリにgitリポジトリを作成します
git init:実行後、現在のディレクトリに.git隠しフォルダーを生成します
後でローカルウェアハウスコードをリモートウェアハウスにプッシュする必要がある場合は、リモートウェアハウスアドレスを設定する必要があります。
git remote add origin url#ローカルのリモートウェアハウスアドレスを設定する
lリモートウェアハウスコードを指定したディレクトリに複製します。
git clone url [ディレクトリ]
注:ディレクトリ名を書き込まないと、現在のディレクトリにgithubリポジトリと同じ名前のディレクトリが作成されます
たとえば、次の命令は、指定されたURLウェアハウスコードを現在のディレクトリ(./)にチェックアウトすることを表しています。
git clone url ./
l現在のディレクトリ内のすべてのファイルを一時記憶領域に追加します。
git add。
l一時記憶領域のステータスを確認します。
gitステータス
l書類を提出する:
git commit -m「注釈情報」
l gitによって追跡されたファイルは省略できます:
git commit -am「備考情報」
l提出メモの情報を表示(提出記録を表示)
git logまたはgit reflogまたはgit log --oneline
クーラーディスプレイ:git log --oneline --graph
-より直感的なグラフのグラフィック表示。
より強力な表示:logコマンドのエイリアスを設定し、
git config --global alias.lg“ log --graph --pretty = format: '%Cred%h%Creset-%C(yellow)%d%Creset%s%Cgreen(%cr)%Creset' --abbrev -commit --date = relative」
lコードバージョンのロールバック:
git reset --hard HEAD現在のバージョンに戻る
git reset --hard HEAD ^現在のバージョンに戻る
git reset --hard HEAD ^^以前の2つのバージョンの現在のバージョンに戻る
git reset --hard af4542g(git logを使用してログの上位7ビットを取得します。指定したバージョンに戻ることができます)
lファイルを削除する
git rmファイル
l変更を撤回
git checkoutファイル
lコードをリモートサーバーにプッシュします。
構文:git push -uリモート名ローカルブランチ名:リモートブランチ名
git push -u origin master(最初のプッシュと-u、両方ともマスターと呼ばれるものは省略でき、マスターを書くだけです)
lローカルリモートウェアハウスアドレスを変更します。
git remote -vローカルのリモートウェアハウスアドレスを表示する
git remote add origin url#ローカルのリモートウェアハウスアドレスを設定する
git remote rm origin#ローカルのリモートウェアハウスアドレスを削除する
lリモートサーバーからコンテンツを取得します。
git push -uリモート名ローカルブランチ名:リモートブランチ名
git pullリモート名リモートブランチ名:ローカルブランチ名
git pull orgin masterプルリモートウェアハウスコードとマージ
git fetch orgin master pullリモートウェアハウスコードはマージされません。マージするには、git merge origin / mergeを実行する必要があります
ローカルコードのマージを強制されるリモートコード:
git pull origin master --allow-unrelated-histories
l倉庫の住所
git remote -v#ローカルのリモートウェアハウスパスを表示
git remote rm origin#ローカルのリモートウェアハウスアドレスを削除する
git remote add origin [email protected]:username / repository name.git #set local remote repository address
lファイルのコードの各行をだれが書いたかを確認します。特にエラーコードが見つかった場合、実行する方法はありません。
git blameファイル
7. sshプロトコルの秘密鍵と公開鍵を作成します
ウェアハウスのアドレスがhttpsプロトコルを使用している場合、送信ごとにリモートウェアハウスgithubのユーザー名とパスワードが必要になります。
ウェアハウスアドレスとしてsshプロトコルを使用し、秘密鍵と公開鍵を構成すると、送信するたびにユーザー名とパスワードを入力する手間が省けます。
公開鍵:ロックとして理解され、githubにアップロードされて保存されます。
秘密鍵:ロックの鍵として理解され、ローカルコンピューターに保存されます。
つまり、ロックの対応するキーだけがコードを送信できます。
ssh秘密鍵と公開鍵を作成し、次のように入力します。1-t rsa -C(大文字のC oh) 'email address'、次にEnterキーを最後まで押します。成功すると、次の2つのファイルが現在のユーザーのディレクトリに追加されます。
id.rsa:秘密鍵ファイル
id_rsa.pub:公開鍵ファイル
id_rsa.pubの公開鍵コンテンツをgithubにコピーします。手順は次のとおりです。
追加すると、次のようになります。
最後に、リモートウェアハウスアドレスをsshプロトコルに変更します。
git remote -v#ローカルのリモートウェアハウスパスを表示
git remote rm origin#ローカルのリモートウェアハウスアドレスを削除する
git remote add origin [email protected]:username / repository name.git #set local remote repository address
倉庫を作成する2つの方法の概要
l方法1:githubにアクセスして、倉庫をリモートで作成します。
注:作成するときは、前にあるReadmeのチェックボックスをオフにしてください。
l git initで倉庫をローカルに初期化する
8.ラベル(バージョン番号)を作成する
lすべてのタグを表示
git日
lバージョン番号1.0のラベルを作成します-m備考
git tag v1.0 -m 'バージョン1.0'
lすべてのローカルタグをリモートウェアハウスにプッシュします。他のユーザーは、ウェアハウスのクローンを作成するか、同期のためにデータをプルした後、これらのタグを表示します。
git push origin master --tags
9、gitブランチ
マスターブランチ:このブランチはすべてのリポジトリのデフォルトであり、主にコードの公式バージョンをリリースするために使用されます。
devブランチ:通常のコード開発はこのブランチで実行されます。
masterブランチとdev開発ブランチは一緒に機能します。
通常、開発ブランチdevが開発された後、このブランチのコードがマスターブランチにマージされ、最後にマスターブランチの下のコードがリモートサーバー(つまり、リモートウェアハウスgithub)にプッシュされます。
ブランチ関連の手順:
l倉庫のすべてのブランチを表示します。
gitブランチ
l開発ブランチを作成します。
gitブランチ開発
lスイッチブランチ(マスターブランチに切り替え):
gitチェックアウトマスター
lブランチdevをマスターマスターブランチにマージします
最初にマージするブランチに切り替え、次にdevブランチを現在のブランチにマージします
gitチェックアウトマスター
git merge --no-f dev -m 'マージ情報'
注:オプション--no-fによるマージも1つの送信と見なされます
lブランチdevを削除します。
gitブランチ-d dev
lブランチがマージされていない場合は、強制的に削除できます。
gitブランチ-D dev
lブランチ開発者をリモートに提出する
git push origin dev
lリモートdevブランチを削除する
git push --devを削除する
gitブランチに関する管理戦略ドキュメント:
10. gitサーバーを構築する
参考図書のアドレス:https : //www.jianshu.com/p/e79ea05d9b61
Linuxを学んだ後でそれを見ることができます。
11、フォーク
あなたは自分のユーザー名で他の人のプロジェクトをフォーク(コピーすることを理解)できます
12、発行
プロジェクトのバグを含め、プロジェクトにコメントや提案を与え、プロジェクトをより良いものにし、一緒に学びます。
13、完全なリクエスト
フォークしたプロジェクトにバグがあることがわかったら、それを変更してリポジトリに送信できます。プルリクエストを開始できます。プロジェクトの元の作成者は、このプルリクエストを表示します。問題がない場合、リクエストはマージされてマージされますプロジェクトに。
14、投稿者
このプロジェクトを一緒に完了するには、プロジェクト開発にヘルパーを追加します。自分のプロジェクトの設定をクリックします
正常に追加され、ディストリビューターを通じて表示できます。