本質的に、Git はテキストへの変更を記録できますが、その定義はバージョン管理システムです。おそらく、すでに何らかの形で git を使用したことがあるでしょう。その分散型の性質により、集中型の Apache Subversion (SVN) とは対照的に、コードのバージョン管理の事実上の標準となっています。
git のインストール
Git がインストールされているかどうかを確認するには、ターミナルで次のコマンドを実行します:
$ git version git version 2.27.0.rc1.windows.1
インストールされていない場合は、https:// に従ってください。 git- 手順は scm.com/downloads にあります。 Mac ユーザーは、brew: brew install git を使用してインストールできます。
git の構成
必要な設定はいくつかだけです
git config --global user.name "前端小智" && # 你的名字 git config --global user.email johndoe@example.com && # 你的邮箱 git config --global init.defaultbranch main # 默认分支名称,与GitHub兼容
次のコマンドを使用して現在のグローバル構成を表示できます
git config --global --list # Type ":q" to close
git 設定をプレーン テキストで保存します。設定を直接変更したい場合は、~/.gitconfig または ~/.config/git/config でグローバル設定を直接編集できます。
コマンドが示すように、--global を削除すると、これらのコマンドの範囲が現在のフォルダーに拡張されます。ただし、これをテストするにはリポジトリが必要です。
新しいリポジトリの作成
リポジトリは、追跡したいすべてのものを保持する単なるフォルダーです。コマンドによって作成されました:
mkdir gitexample && cd gitexample && git init # gitexample git:(main)
このコマンドは、gitexample フォルダー内に .git フォルダーを作成します。この非表示の .git フォルダーはリポジトリです。すべてのローカル構成と変更はここに保存されます。
変更
リポジトリに何かを作成します:
echo "Hello, Git " >> hello.txt
git status を実行すると、新しく作成された追跡されていないファイルが表示されます。
git status # On branch main # # No commits yet # # Untracked files: # (use "git add <file>..." to include in what will be committed) # hello.txt # # nothing added to commit but untracked files present (use "git add" to track)
プロンプトの提案に従って、ファイルを追加します:
git add .
すべてのファイルを追加したくない場合は、
git add hello.txt
を使用できます。リポジトリのステータスを見ると、ファイルは追加されました (ステージング済みとも呼ばれます) が、まだ送信されていないことがわかります。
git status # On branch main # # No commits yet # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # new file: hello.txt
これらの変更を記録するには、コミットしましょう。
git commit -m "Add hello.txt" # [main (root-commit) a07ee27] Adds hello.txt # 1 file changed, 2 insertions(+) # create mode 100644 hello.txt
git commit -m
コミット レコードの確認:
git log # Author: qq449245884 <44924566884@qq.com> # Date: Sat Jul 17 14:57:24 2021 +0800 # # Add hello.txt #
ブランチの作成
多くの場合、初期コードの独立したバージョンがあると便利です。たとえば、 , よくわからない機能をテストするとき、または共同作業するときに、コードの競合を避けてください。それがまさに git ブランチです。歴史の特定の時点から成長します。
ブランチを作成するには、git Branch NAME を実行します。ブランチを切り替えるには、git checkout NAME を実行します。または、単に
git checkout -b dev # 切换到一个名为“dev”的新分支 # Switched to a new branch 'dev' # gitexample git:(dev)
Hello.txt ファイル内の何かを変更し、その変更をコミットします:
echo "\nHello, Git Branch" >> hello.txt && git commit -am "Change hello.txt"
ここで、master ブランチに切り替えます:
git checkout main && cat hello.txt # Switched to branch 'main' # Hello, Git
ご覧のとおり、ファイルの内容は以前と同じままです。ブランチを比較するには、実行できます。
git diff dev # diff --git a/hello.txt b/hello.txt # index 360c923..b7aec52 100644 # --- a/hello.txt # +++ b/hello.txt # @@ -1,3 +1 @@ # Hello, Git # - # -Hello, Git Branch # (END) # type ":q" to close
master ブランチに変更を加えます:
echo "\nHi from Main Branch" >> hello.txt && git commit -am "Change hello.txt from main" # [main 9b60c4b] Change hello.txt from main # 1 file changed, 2 insertions(+)
次に、これらの変更をマージしてみましょう。
git merge dev # Auto-merging hello.txt # CONFLICT (content): Merge conflict in hello.txt # Automatic merge failed; fix conflicts and then commit the result.
ファイルが同じ場所で 2 回変更されたため、競合が発生しました。このファイルを見てください。
cat hello.txt <<<<<<< HEAD Hello, Git Hi from Main Branch ======= Hello, Git >>>>>>> dev
変更を個別に表示するコマンドもあります:
git diff --ours # :q to close git diff --theirs #:q to close
ファイルを手動で編集して変更をコミットできますが、必要なのは 1 つだけであると想像してください。それのバージョン。まずマージを中止しましょう。
git merge --abort
そして、「彼らの」戦略でマージを再開します。これは、競合が発生した場合に、受信ブランチが保持しているものを使用することを意味します。
git merge -X theirs dev # Auto-merging hello.txt # Merge made by the 'recursive' strategy. # hello.txt | 5 +---- # 1 file changed, 1 insertion(+), 4 deletions(-)
この戦略の反対は「私たち」です。これら 2 つの変更をマージするには、手動で編集する (または git mergetool を使用する) 必要があります。
すべてのブランチ実行のリストを表示します
git branch # type :q to close # dev # * main
最後に、ブランチ実行を削除します:
git branch -d dev # Deleted branch dev (was 6259828).
ブランチをリセット
ブランチfrom git 履歴のある時点が「成長」し始め、リベースを使用するとこの時点を変更できます。別のブランチを作成し、hello.txt に変更を加えてみましょう。
git checkout -b story && echo "Once upon a time there was a file">>story.txt && git add story.txt && git commit -m "Add story.txt" # Switched to a new branch 'story' # [story eb996b8] Add story.txt # 1 file changed, 1 insertion(+) # create mode 100644 story.txt
次に、メイン ブランチに戻って変更を追加します。
git checkout main && echo "Other changes" >> changes.txt && git add changes.txt && git commit -m "Add changes.txt"
メイン ブランチで行った変更をストーリー ブランチにリセットします。
git checkout story && git rebase main # Successfully rebased and updated refs/heads/story.
次のことがわかります。メイン ブランチによって作成された新しいファイルがストーリー ブランチに追加されます。
ls # changes.txt hello.txt story.txt
注: メイン ブランチなど、他の人が使用した可能性のあるブランチをリベースしないでください。また、リモート リポジトリに対するすべての履歴操作では、これらの変更を強制的に有効にする必要があることに注意してください。
リモート リポジトリ
まだお持ちでない場合は、GitHub アカウントを作成し、ログインして、新しい空のリポジトリ (プライベートまたはパブリック) を作成します。
リポジトリの名前が「example」であると仮定して、次のコマンドを実行します (ユーザー名に変更します)。
git remote add origin git@github.com:USERNAME/example.git && git push -u origin main
ページを更新すると、メイン ブランチ内のファイルを確認できます。すべてのローカル ブランチをリモート リポジトリにプッシュするには、実行します。
git push --all origin
GitHub で何かを編集します。任意のファイルと鉛筆アイコンをクリックするだけです。任意のテキストを 1 行追加し、[変更を送信] をクリックします。
このコマンドをローカルで実行して、リモートの変更を取得します。 [推奨: Git チュートリアル]
git checkout main && git pull
コミットされていない変更の管理
後で使用するためにローカルの変更を保存したい場合は、git を使用できます。隠し場所。
echo "Changes" >> hello.txt && git stash
これで、次のコマンドを使用して、これらの変更を確認、適用、または破棄できるようになります。
git stash list # stash@{0}: WIP on main: 92354c8 Update changes.txt git stash pop # 应用更改 git stash drop # 撤销修改
你可以使用 stash 编号,即git stash pop 0来应用一个特定的储藏库,或者git stash drop 0来撤销。
如果你想放弃所有的本地修改,只需恢复版本库到最后提交的修改,请运行。
git restore .
管理提交的更改
一旦你创建了一个提交,这个变化就会保存在本地的git历史中。如前所述,所有影响远程历史的修改都需要git push --force。以下所有命令都要记住这一点。
我们从编辑最后的提交信息开始。
git commit --amend # type :wq to save and close # Press "i" to edit, "Esc" to stop editing
我们把一切重设到最开始怎么样?
要找到第一次提交的ID,请运行这个命令并滚动(向下箭头)到最后。
git log --abbrev-commit # commit a07ee27 # Author: Your Name <your@email.address> Date: Sun Jul 11 11:47:16 2021 +0200 Adds hello.txt (END) # type ":q" to close
现在运行这个来重置版本库,但保持所有的修改不被缓存。
git reset --soft COMMIT # e.g. a07ee27
与之相反,你也可以进行硬重置,用git reset --hard COMMIT来删除所有修改。还有几种其他的重置方式,你可以从git文档中了解到。
别名
大多数时候,你只需要使用少数几个命令(主要是checkout、add、commit、pull、push和merge),但有些命令可能是你想要“以防万一”的。
存储这些信息的一种方法是git aliases。要配置一个别名,只需在配置中设置它。例如,我经常使用的一个别名是git tree,它以树的形式打印出一个漂亮的历史日志。
git config --global alias.tree 'log --graph --decorate --pretty=oneline --abbrev-commit' # Try it with `git tree`
另一个有用的别名是删除所有合并的分支。
git config --global alias.clbr '!git branch --merged | grep -v \* | xargs git branch -D'
你可以看到它的前缀是"!",这允许我们使用任何命令,而不仅仅是git命令。
~完,我是刷碗智,今天礼拜六写的,要准备去刷碗了,骨的白!
▎作者:Valeria 译者:前端小智 来源:dev 原文:https://dev.to/valeriavg/master-git-in-7-minutes-gai
以上が最も一般的に使用される git コマンドを 10 分間で段階的に説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

GitHubは、バージョン制御、共同開発、コミュニティコミュニケーション機能を提供するGitベースのバージョン制御システムホスティングプラットフォームです。 GitHubを使用すると、開発効率とコードの品質が向上する可能性があります。

GitとGithubは異なるツールです。Gitはバージョン制御用のソフトウェアであり、GithubはGitに基づくオンラインプラットフォームです。 1.GITを使用すると、ファイルの変更と共同開発を追跡できます。 2。Githubは、チーム開発効率を高めるためのコードホスティングおよびコラボレーションツールを提供します。

GitHubのコア機能には、バージョン制御、支店管理、コードレビュー、問題追跡、プロジェクト管理が含まれます。 1。バージョン制御とブランチ管理はGITに基づいており、コードの変更と実験開発の追跡を可能にします。 2。コードレビューは、PullRequestを通じて実装され、コードの品質とチームコラボレーションを改善します。 3.問題の追跡とプロジェクト管理は、プロジェクトの透明性とトレーサビリティを改善するために、問題とプロジェクト管理委員会を通じて実行されます。

GitHubは、ソフトウェア開発の効率と品質を向上させるための強力なツールです。 1)バージョン制御:GITを介してコードの変更を管理します。 2)PullRequests:コードレビューを実施し、コードの品質を改善します。 3)問題:バグとプロジェクトの進捗を追跡します。 4)githubactions:建設、テスト、展開プロセスを自動化します。

Gitはバージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITは、コードバージョンを管理し、ローカル操作をサポートするために使用されます。 GitHubは、問題の追跡やPullRequestなどのオンラインコラボレーションツールを提供しています。

GITは、開発者がファイルの変更を追跡し、協力してコードバージョンを管理するのに役立つオープンソース分散バージョン制御システムです。そのコア関数には、1)レコードコードの変更、2)以前のバージョンへのフォールバック、3)共同開発、4)並列開発のためのブランチの作成と管理。

gitとgithubは同じものではありません。 Gitはバージョン制御システムであり、GithubはGitベースのコードホスティングプラットフォームです。 GITはコードバージョンの管理に使用され、GitHubはオンラインコラボレーション環境を提供します。

GitHubを使用してHTMLプロジェクトを管理する理由は、バージョン制御、共同開発、作品の提示のためのプラットフォームを提供するためです。特定の手順には次のものが含まれます。1。gitリポジトリの作成と初期化、2。htmlファイルを追加および送信します。3。githubにプッシュ、4。githubpagesを使用してWebページを展開します。さらに、GitHubは、HTMLプロジェクトの最適化とコラボレーションを支援するために、コードレビュー、発行、およびPullRequest機能もサポートしています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版
便利なJavaScript開発ツール
