GitとGithubの詳細な入門チュートリアル(GitとGithubを知らないと言わないでください)

はじめに:成功は未来ではありませんが、あなたがそれをやろうと決心した瞬間から蓄積されます。こんにちは、MengYangchenです。GitとGithubを一緒にしましょう。


記事ディレクトリ

  • 01.Gitの概要
  • 02.Gitローカルウェアハウスオペレーション
    • Gitバージョンのロールバック操作
  • 03.リモートウェアハウス
  • 05.Gitブランチ操作
  • 06.競合の生成と解決
  • 07.Gitユーティリティ機能
  • 08.ファイルを無視する
  • 09.Githubの基本概念
  • 10. githubPagesビルドWebサイト


ここに写真の説明を挿入


01.Gitの概要

1. Gitは現在、世界で最も先進的な分散バージョン制御システムです

解決された問題:
各変更を記録しました:バージョン、コンテンツ、操作ユーザー、変更時間、ドキュメント名など。


2.GitとGithubGitの違いは、分散バージョン制御システムです。簡単に言えば、特定のバージョンのソフトウェアのリビジョンを確認するために、1つまたは複数のファイルのコンテンツの変更を記録するために使用されるソフトウェアです。

Githubは、ユーザーにGitサービスを提供するWebサイトであり、簡単に言えば、コード(およびその他のコンテンツ)を配置できる場所です。Gitを管理するためのWebインターフェイスを提供することに加えて、Githubは、サブスクリプション、フォロー、およびディスカッショングループ用のオンラインエディターなどの豊富な機能も提供します。

GitにはSVNのような中央サーバーはありません。

現在使用しているGitコマンドは、Gitを介してコードを共有したり、他の開発者と協力したりする場合、すべてローカルで実行されます。他の開発者が接続できるサーバーにデータを配置する必要があります。この例では、Githubをリモートウェアハウスとして使用しています

Gitのインストール

02.Gitローカルウェアハウスオペレーション

1.ワークフロー
Gitローカル操作の3つの領域:
ここに写真の説明を挿入
ワークフロー:
ここに写真の説明を挿入

一時保管場所:購入する商品と最終的な支払いを一緒に保管するショッピングカートに相当します。

2.ローカルウェアハウスオペレーション
とは何ですか?
ウェアハウスはバージョンライブラリとも呼ばれ、英語名はリポジトリです。コードを保存するためのディレクトリとして簡単に理解できます。このディレクトリ内のすべてのファイルはGitで管理できます。Gitを使用して各ファイルを変更および削除できます。に追跡します。

インストール後の最初の使用には、グローバル構成が必要です。

1. [Git Bash Here]をクリックして、Gitコマンドラインウィンドウを開きます。

$ git config --global user.name "ユーザー名" 
$ git config --global user.email "メールアドレス"

ユーザー情報を設定し、プロジェクトが変更されたときにユーザー名を記録します

2.ローカルウェアハウスを作成する
新しいプロジェクト/既存のプロジェクトを管理するためにGitが必要な場合は、ウェアハウスを作成する必要があります。

操作エラーは不要なエラーを引き起こすため、Gitの学習には空のディレクトリを使用することをお勧めします。ディレクトリ名には英語名を使用してみてください。

3.ディレクトリを作成します

$ mkdirディレクトリ名

また、新しい方法でローカルに直接作成することもできます。
4.コマンドラインでプロジェクトディレクトリpre_gitを入力します

$ cdディレクトリ名

5.
Gitウェアハウスの初期化により、Gitはこのディレクトリを管理する必要があることを認識します。

$ git init

実行後、プロジェクトディレクトリを開き、非表示のディレクトリをクリックすると、追加の.gitフォルダが見つかります。自由に削除または変更することはできません。

ここで開発できます。
6.一般的なコマンド操作を実行し
て、現在の作業ステータス表示します。

$ gitステータス

機能:トイレから戻ったり、会議の後で戻ったりするなど、プロジェクトがどこで行われたかを忘れたとき。このコマンドを使用して、次に何をするかを決定できます。

7.プロジェクトディレクトリで開発できます

8.ワークスペースファイルをキャッシュ領域に追加します。

説明:git addコマンドは、1つのファイルまたは複数のファイルを同時に追加できます。
構文1:$ git addファイル名
構文2:$ gitaddファイル名1ファイル名2ファイル名3 ......
構文3:$ gitadd。[現在のディレクトリをキャッシュに追加する]

9.リポジトリに送信します

$ git commit -m "コメントコンテンツ"

新しいファイルが作成された場合は、追加から始めて、上記の操作を繰り返します。

送信されたファイルの内容を変更した場合は、追加から再送信してください。

ここでの提出などの操作は、Gitローカルウェアハウスに提出されるだけです。

Gitバージョンのロールバック操作

バージョンのロールバックは2つのステップに分かれています
。1。最初にバージョンを確認し、次の場所に戻る必要がある時点を特定します

$ git log 
$ git log --pretty = oneline

2番目の指示:簡略化された情報。
2.ロールバック操作:
命令:

$ git reset --hard commit number

操作を実行すると、プロジェクトディレクトリ内のファイルは指定された時間に戻ります。

過去に戻った後、最新の状態に戻したい場合はどうすればよいですか?
最初に:前の番号付け
手順を照会します

$ git reflog

次に実行します

$ git reset --hard commit number

概要:
過去に戻るには、最初にコミットIDを取得してから、git reset--hardを使用して過去に戻ります。

未来に戻る:過去の操作を照会し、最新のコミットIDを取得するには、gitreflogを使用する必要があります。(ナンバリング)

ロールバック命令を書き込むときに、コミットIDを完全に書き込む必要はなく、gitが自動的にそれを認識することがわかります。少なくとも最初の4ビットを書き込む必要があります。

03.リモートウェアハウス

オンライン倉庫運営の場合、例としてGithubを取り上げます。(現在、Gitウェアハウスにリモートウェアハウスを提供する多くのWebサイトがあります)

1.Githubオンラインウェアハウスの作成

ここに写真の説明を挿入
2.使用线上仓库
添加远程仓库(这里添加github)

注意:在git bash中输入 cd /D 注意盘名字一定要是大写。如不输入这个语句 不给git bash定位的话,默认的本地文件位置是在c盘中。然后再cd到以远程仓库相同名字的文件夹中。

第一种方式:基于https协议:
仓库就是目录:
1.创建空目录,名称为shop(任取)
2.复制https对应得地址。
然后在当前目录新建shop目录

$ mkdir shop
$ cd ./shop

3.使用clone指令克隆线上仓库到本地。

$ git clone 线上仓库地址

执行后,线上的仓库就被clone下来了,如果clone下来的是一个空目录,克隆下来的目录只有隐藏的.git目录。

4.在上述操作完成后,就可以在本地仓库做对应的操作

比如:(提交至暂存区,提交到本地仓库,提交到线上仓库(远程仓库),拉取线上仓库
前面几个操作跟上面的本地仓库操作相同。

然后提交到线上仓库:

如果是首次提交,首先应获取权限:(否则会出现403的错误)
因为不是任何人都可以往线上仓库提交内容。
获取权限:
修改".git/config 文件内容:
在url这一项中:
在github.com前面加上:用户名:密码@
如:

url=https://用户名:密码@github.com/用户名/仓库名.git

其它不变。

指令:
提交到线上仓库的指令

$ git push

提交成功之后,你会发现,线上仓库中多你提交的内容。

注意:如果你提交成功下班后:同事也向该远程仓库提交了新的内容。第二天上班时,你需要拉去线上的仓库的最新版本
使用命令:

$ git pull

因此在每天工作的第一件事就是git pull 拉取线上的最新版本,下班要做的就是 git push,将本地代码提交到线上仓库。

第二种方式:基于ssh协议(推荐使用)
该方式与前面https方式相比,只是影响github对于用户的身份鉴定方式,对于git的具体操作没有任何改变。

步骤:
1.生成客户端公私钥文件。
2.将公钥上传到Github。

实际操作:
1.创建公私钥文件

你的本地 Git 仓库和 GitHub 仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息:使用以下命令生成 SSH Key:

在这里直接打开Git Bash:(也可以在桌面单击右键打开)

ここに写真の説明を挿入

然后输入命令:

ssh-keygen -t rsa -C "注册邮箱"

如果你无法生成密钥(须先自行安装OpenSSH)然后在执行以上命令。
网上的一些教程使用命令:

$ ssh-keygen -t rsa-C "[email protected]"

注意:其实[email protected]表示的就是注册邮箱,即两者是相同的。

之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。

2.找到id_rsa.pub文件。
成功的话会在 ~/ 下生成 .ssh 文件夹,进去,打开 id_rsa.pub,复制里面的 key。
回到 github 上,进入 Account => Settings(账户配置)。
为了验证是否成功,输入以下命令:

$ ssh -T [email protected]

结果:Hi xxxx! You’ve successfully authenticated, but GitHub does not provide shell access.

3.然后再本地新建目录(用来保存线上的项目),然后进入目录。

$ mkdir 目录名称
$ cd ./目录名称/

然后克隆目录到新建的目录中:

$ git clone ssh地址

线上的仓库ssh和https地址可以在clone和download中查看
4.后续操作跟https方式一样。

相比于https,这种方式一旦配置好后,以后的项目就不需要一个个去配置用户名和密码了,可以说一劳永益。所以推荐使用这种方式

05.Git的分支操作

什么是分支 ?
即项目的分支(不同的功能):
所有的分支组成一个项目。
ここに写真の説明を挿入
在版本回退的内容中,每次提交都会有记录,Git把他们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,我们称之为master分支。

在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满足多人同时开发的需求的,并且在分支上工作并不会影响其他分支的正常使用,会更加安全,Git鼓励开发者使用分支去完成一些开发任务。

分支的相关指令:

查看分支:git branch
创建分支:git branch 分支名
切换分支:git checkout 分支名
删除分支:git branch -d 分支名
合并分支:git merge 被合并的分支

注意:可以使用"git checkout -b 分支名" 指令来切换分支,-b选项表示创建并切换,相当于是两个操作指令。

含"*"表示当前分支。

可以看出我们都是对分支进行操作。

删除分支之前,需要退出该分支,既不能在使用中删除。

06.冲突的产生与解决

案例:模拟冲突
1.我下班之后,同事对线上项目内容进行了修改,此时本地仓库的内容与线上仓库内容不一致,第二天我忘记做git pull操作,而是直接对本地文件进行修改。
当进行提交时,会报错。
2.解决冲突
先进行指令"git pull"操作。

3.打开冲突文件,解决冲突。
和提交内容的用户商量保存哪些内容。删除哪些内容。

然后重新提交后,在进行push操作即可。

这里可以看到上班前进行 git pull 的重要性。

07.Git实用功能

1.图形管理工具

Github for Desktop
对于经常使用Github的开发人员来说是非常便捷的工具。

Source tree
老牌的Git GUI管理工具,适合初学者。

TortoiseGit
对于熟悉SVN的开发人员来说,非常友善。其前辈TortoiseSVN。

自带的Git GUI管理工具。

08.忽略文件

项目中存在万年不变的目录,例如css,js,images等,或者还有些目录即便有改动,我们也不想让其提交到远程的文档,此时我们可以使用"忽略文件”机制来实现需求。

忽略文件需要新建一个名为 .gitignore的文件,该文件用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效。

注意:该文件因为没有文件名,没办法在windows目录下直接创建,可以通过命令行Git Bash来创建。

常见的规则如下:
1.过滤整个文件夹      /mtk/
2.过滤所有.zip文件    *.zip
3.过滤某个具体文件    /mtk/do.c
4.不过滤具体某个文件  lindex.php

新建.gitignore的文件
指令:

$ touch .gitignore

配置文件.gitignore:
如:
1.忽略/js目录
/js/

09.Github的基本概念

作用:借助github托管项目代码。
1.仓库(Repository)
仓库即你的项目,你想在Github上开源一个项目,那就必须要新建一个Repository,如果开源的项目多了,你就拥有多个Repositories。

2.收藏(star)
意为收藏项目的人数。方便下次查看。

3.复制克隆项目(Fork)
浏览他人项目时,点击fork,会在自己的账号里新建一个相同的仓库,该仓库是独立存在的,但是会显示 forked from 谁的仓库。
ここに写真の説明を挿入
4.发起请求(Pull Request)
这是基于Fork的,李四在自己克隆的项目里进行改进完成后,想要将自己改进的项目合并到原来的项目中,于是他就发送了一个Pull Request,给原项目的创建人。假如你是这个项目的创建人,你就可以收到这个请求,这时候你会仔细review他的代码,如果觉得不错,就可以接受他的请求,这时候他做的改进,在你的项目里就有了。
ここに写真の説明を挿入
步骤:
1.fork项目
2.修改fork的项目
3.新建pull request
4.等待项目新建者合并项目
5.关注(Watch)
如果你关注了某个项目,那么以后只要这个项目有任何的更新,都会接收到通知。

6.事务卡片(Issue)
就是你开源了一个项目,别人再查看你的项目时发现了Bug,或则有些地方做的不好,他就可以给你提个Issue,即问题,然后你看到了这些问题就可以去完善,完善好了就可以将其一个个的Close掉。
即发现代码Bug,但是目前没有成型的代码,需要讨论时使用。
如:别人给Itcastphpgit2提交一个issue
ここに写真の説明を挿入

主页概念:
1.Github主页
显示用户动态以及关注用户或关注仓库的动态。
ここに写真の説明を挿入

2.仓库主页
项目信息
ここに写真の説明を挿入

3.个人主页
个人信息

官方网址:Github.com

新しいGithubアカウント:
**大胆なスタイル**
ここに写真の説明を挿入
注:githubサーバーは海外にあるため、アクセスが遅いか、アクセスできません。

操作に基づいてメールボックスを確認し、リモートウェアハウスを作成します。

リモートウェアハウスの運用:

1.新しいファイル
ここに写真の説明を挿入
2.ファイルの編集
ここに写真の説明を挿入

ファイル名をクリックし、「小さなペン」のパターンをクリックします。

3.ファイルのアップロード
[ファイルのアップロード]をクリックして、説明を追加します。(ファイルのアップロード)

4.ウェアハウスファイルを検索し、
[ファイルの検索]をクリックします

5.プロジェクトをダウンロードするには、
[クローン]または[ダウンロード]をクリックします

10. githubPagesビルドWebサイト

個人サイト
へのアクセス:
https //username.github.io

構築手順
1.個人用サイトを作成->新しいウェアハウス(注:ウェアハウス名は[Username.github.io]である必要があります

2.ウェアハウスの下に新しいindex.htmlファイルを作成します。

注:githubページは静的Webページのみをサポートします
。2。ウェアハウスに保存できるのは.htmlファイルのみです。

私はあなたと一緒に成長し、一緒に進歩し、自分自身のより良いバージョンになることを願っています。私は学校の学生であるメン・ヤンチェンです!あなたのそばの友達になりたいです。

パブリックアカウント[プログラミングが簡単]に注意し、キーワードアクティベーションコードに返信して取得します。ファミリーバケットの一般的なアクティベーションコード(アクティベーションコードはidea、pycharm、webstorm、phpstorm ...アクティベーションをサポートします)は定期的に更新されます。最新バージョン以下に適用されます。(ホストをクラックして変更する必要はありません。クラックした場合は、公式の元のバージョンをアンインストールして再インストールしてください。ホストを変更した場合は、追加したURLを削除してから、再度アクティブにしてください)

キーワード「ebook」、「computer resources」、「Java from entry to Advanced」、「JavaScript tutorial」、「algorithms」、「Python Learning Resources」、「Artificial Intelligence」などに返信して、学習リソースを入手してください。ここに写真の説明を挿入


おすすめ

転載: blog.51cto.com/14854864/2553506