この記事では、Git に関する関連知識をお届けします。主に、いくつかの一般的な操作コマンドを紹介し、事例を通じてそれらを分析します。知識ポイントを与える方法を見てみましょう。要約すると、次のようになります。みんなの役に立つように。
推奨学習: 「Git チュートリアル 」
Git は、オープン ソースの分散バージョン管理システムであり、小規模または大規模なプロジェクトを迅速かつ効率的に処理するために使用され、現在最も人気のあるバージョン管理ツールです。
SVN の主な違いは、集中バージョン管理システムです。バージョン ライブラリは中央サーバーに集中しており、そこで動作する当時、私は自分のコンピュータを使用していたので、最初に中央サーバーから最新バージョンを取得してから作業し、作業が完了した後、これまでに行った作業を中央サーバーにプッシュする必要がありました。集中バージョン管理システムが動作するには、インターネットに接続する必要があります。ローカル エリア ネットワーク上にある場合は問題ありません。帯域幅が十分に大きく、速度も十分に速いです。インターネット上にある場合は、ネットワークが速度が遅いと混乱してしまいます。
Git は分散バージョン管理システムであるため、中央サーバーがありません。誰のコンピュータにも完全なバージョン ライブラリがあるため、インターネットに接続する必要はありません。バージョンはすべて自分のコンピュータ上にあるためです。全員のコンピュータには完全版のライブラリがあるため、複数人で共同作業するにはどうすればよいでしょうか?たとえば、あなたがコンピュータ上のファイル A を変更し、他の誰かがあなたのコンピュータ上のファイル A を変更した場合、お互いに変更をプッシュするだけで、お互いの変更を確認できます。
Git は最初に Linux 上で開発されました。長い間、Git は Linux と Unix システム上でのみ実行できました。しかし、ゆっくりと誰かがそれを Windows に移植しました。現在、Git は Linux、Unix、Mac、Windows の主要なプラットフォームで正常に実行できます。
Git
を使用するには、もちろん最初のステップは Git
をインストールすることです。 https://git-for-windows.github.io からダウンロードし(インターネット速度が遅い場合は国内ミラーに移動してください)、デフォルトのオプションに従ってインストールします。
ダウンロードが完了したら、インストールのために開きます (以下に示すように設定します)。
あとは、インストールが完了するまで静かに待つだけです。完了したら、 をクリックします。デスクトップなどの任意の場所 フォルダ内の空きスペースで を右クリックすると、下図に示す 2 つのメニュー バーが表示され、インストールは成功です。
インストール後、コマンド ボックスが表示されます。最後のステップである設定を行う必要があります。識別子。 git は分散管理ツールであるため、識別情報としてユーザー名とメールアドレスを設定する必要があります。ポップアップ ボックスに次のコードを入力するだけです。
git config --global user.name "Your Name"git config --global user.email "email@example.com"
Note: git config --global パラメータ。このパラメータを使用すると、マシン上のすべての Git リポジトリがこの設定を使用することになります。特定のウェアハウスに異なるユーザー名と電子メールを指定することもできます。
主に操作の効果を確認するためです
リンク: https://pan.baidu.com/s/ 19lIBz4IFwurxNvzXGgTqRg
抽出コード: fmte
Git を操作する前に作成する必要があります。 Git リポジトリの場合は、必要な場所に空のフォルダーを作成するだけです。次に、フォルダーに入り、空白スペースを右クリックし、[Git Bash Here] をクリックして、現在のフォルダーに対して Git 操作を実行します。
git init
cd:进入某个目录 mkdir:创建一个文件 pwd:显示当前的目录路径 鼠标选中就是复制,粘贴可以右键粘贴,也可以用使用快捷键:Shift+INS
git add a.txt
git add .
git commit -m "双引号里面是注释——你的提交说明"
原因:commit
可以一次提交很多文件,所以你可以多次add
不同的文件
例如:
git add file1.txt #单个添加文件到暂存区git add file2.txt file3.txt #多个添加文件到暂存区git add . #添加当前文件夹下所有文件到暂存区git commit -m "add 3 files." #提交所有暂存区的文件
使用下面命令检查当前文件状态
git status
结果:没有需要提交的文件了;
创建一个新的文件 b.txt,内容为 bbb,再来检查文件状态
结果:存在未跟踪文件没有添加到暂存区和提交到版本库;
添加 b.txt 到暂存区之后,再来检查文件状态
结果:暂存区中有一个新的 b.txt 文件没有添加到版本库中;
提交 b.txt 到版本库之后,然后把 b.txt 内容从 bbb 修改为 bbba,再来检查文件状态
结果:被改变的文件 b.txt 没有添加到暂存区且没有提交
git add b.txtgit commit -m "提交修改的 b.txt 文件"
git log
注意:使用上面命令信息多的话会进入 log 模式,想要退出,在英文输入法的前提下按 q 就可以退出了
git log --pretty=oneline
git log -1
git log #查看全部历史提交记录git log --pretty=oneline #精简显示所有历史提交记录git reflog #可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)git log -p #查看全部提交历史并展示每次修改的内容git log -2 #查看最近2次提交历史(注意:后面的数字是可以自定义的,也就是说,这种写法是 git log -n 的体现)git log -p -2 #查看最近2次提交历史并展示修改的内容git log --stat #查看提交历史,并展示摘要内容(摘要会列出修改的文件以及每个文件中修改了多少行)
Git
必须知道当前版本是哪个版本,在Git
中,用HEAD
表示当前版本,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
。git reset --hard HEAD^
git reset --hard
git reset --hard 6ec9373d22d1a869b67681a39dc04df34292133b
结果:从查看的历史版本结果可以看出我们回退到了 “提交 a.txt” 版本
git reflog
结果:reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reset --hard 7a42e7b
结果:历史版本信息可以看出我们已经回退到了我们想要的版本
例如:我们把 b.txt 文件内容修改为为 bbbaaa,然后用下面代码查看,可以看出我们修改了什么
git diff # 查看不同版本之间的文件差异
推荐使用:第一次修改 -> git add -> 第二次修改 -> git add -> git commit
注意:建议每次 commit 之前先检查是否有文件没有被 add
git checkout -- filename
git checkout -- filename
可以丢弃工作区的修改:– 后面是一个空格
命令 git checkout -- readme.txt
意思就是,把 readme.txt
文件在工作区的修改全部撤销,这里有两种情况:
一:readme.txt
自修改后还没有被放到暂存区(git add
),现在,撤销修改就回到和版本库一模一样的状态;
二:readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次 git commit
或 git add
时的状态。
注意:git checkout -- file
命令中的 --
很重要,没有 --
,就变成了**“切换到另一个分支”**的命令,我们在后面的分支管理中会再次遇到 git checkout
命令
通常直接在文件管理器中把没用的文件删了,或者用rm
命令删除,例如:删除 b.txt
git rm b.txt
删除步骤
git rm b.txt --cached
b.txt 处于未跟踪状态,也就是从暂存区删除。
特别说明:处于未跟踪状态只是没有存在于暂存区,历史提交记录中的记录依然存在。
所谓的暂存区仅仅是.git目录下的一个index文件罢了,这也是为了什么被称为index(索引),当删除暂存区内容的时候,其实就是删除index文件中的内容,.git/objects目录中的内容不会被删除。
rm .git/index
git branch #查看分支 git branch <name> #创建分支git checkout <name> #切换分支git checkout -b <name> #创建 + 切换分支git merge <name> #将某分支合并到当前分支git branch -d <name> #删除分支</name></name></name></name></name>
命令 | 作用 |
---|---|
git config --global user.name “Your Name” | 设置用户名 |
git config --global user.email “email@example.com” | 设置邮箱 |
命令 | 作用 |
---|---|
git init | 初始化 git,创建 .git 文件 |
命令 | 作用 |
---|---|
cd | 进入某个目录 |
mkdir | 创建一个文件 |
pwd | 显示当前的目录路径 |
鼠标选中就是复制 | 复制 |
直接鼠标右键粘贴 / 快捷键:Shift+INS | 粘贴 |
命令 | 作用 |
---|---|
git add a.txt | 添加 a.txt 到暂存区 |
git add . | 添加当前根目录下的所有文件到暂存区 |
git commit -m “双引号里面是注释——你的提交说明” | 把暂存区的文件提交到版本库(一次全部提交) |
命令 | 作用 |
---|---|
git status | 查看文件状态(检查是否有未提交文件) |
コマンド | 関数 |
---|---|
git log | すべての過去のコミット レコードを表示 |
git log --pretty=oneline | 合理化すべての履歴コミット レコードを表示 |
#git reflog | すべてのブランチのすべての操作レコード (削除されたコミット レコードとリセット操作を含む)# を表示できます。|
すべての送信履歴を表示し、各変更の内容を表示します | |
過去 2 件の送信履歴を表示します (注: 次の数値はカスタマイズできます。つまり、この書き込み方法は git log -n の具体例です) | |
最後の 2 つのコミットの履歴を表示し、変更された内容を表示します | ##git log --stat |
前のバージョンに戻る | git replace --hard HEAD~N (- ではなく、波線です) |
前の N バージョンにロールバック | ##git replace --hard |
##git reflog と git replace --hard を組み合わせて使用します | #ロールバックしたバージョンを復元します |
8. さまざまなバージョン間の違いを表示します |
git diff | 異なるバージョン間のファイルの違いを表示 |
---|---|
9. 変更を元に戻す | コマンド |
One: | readme.txt|
---|---|
readme.txt が一時記憶域に追加され、その後変更されました。ここで、変更を元に戻します。ステージング領域に追加した後の状態に戻ります。 |
10. 削除
コマンド |
rm delete file | rm は、削除後に一時記憶域に自動的に追加され、手動の追加コマンドは省略されます。|
---|---|
##git rm b.txt --cached | キャッシュ内の 1 つのファイルを削除します。b .txt 追跡されていない状態、つまりステージング領域から削除された状態
|
すべてのキャッシュをクリア | |
コマンド | 関数 |
ブランチの表示 | |
---|---|
作成ブランチ | |
ブランチの切り替え | |
新しいブランチを作成して切り替える | ##git merge |
ブランチを現在のブランチにマージする | git Branch -d |
ブランチの削除 | 推奨学習: 「 |
以上が一般的なGit操作コマンドの詳しい事例説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。