この記事では、Git に関する関連知識をお届けします。主に、よく使われる Git の操作コマンドを事例や分析を通じてまとめています。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 つのメニューバーが表示されればインストール成功です。
インストール後、コマンド ボックスが表示されますが、まだ必要があります。最後のステップを実行します。 1 つのステップで、識別子を設定します。 git は分散管理ツールであるため、識別情報としてユーザー名とメールアドレスを設定する必要があります。ポップアップ ボックスに次のコードを入力するだけです。
git config --global user.name "Your Name"git config --global user.email "email@example.com"
Note: git config --global パラメータ。このパラメータを使用すると、マシン上のすべての Git リポジトリがこの設定を使用することになります。特定のウェアハウスに異なるユーザー名と電子メールを指定することもできます。
Git You を操作する前に最初に 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” | 设置邮箱 |
2. 初始化命令
命令 | 作用 |
---|---|
git init | 初始化 git,创建 .git 文件 |
3. 常用命令
命令 | 作用 |
---|---|
cd | 进入某个目录 |
mkdir | 创建一个文件 |
pwd | 显示当前的目录路径 |
鼠标选中就是复制 | 复制 |
直接鼠标右键粘贴 / 快捷键:Shift+INS | 粘贴 |
4. 添加到暂存区
命令 | 作用 |
---|---|
git add a.txt | 添加 a.txt 到暂存区 |
git add . | 添加当前根目录下的所有文件到暂存区 |
git commit -m “双引号里面是注释——你的提交说明” | 把暂存区的文件提交到版本库(一次全部提交) |
5. 查看文件状态
命令 | 作用 |
---|---|
git status | 查看文件状态(检查是否有未提交文件) |
6. 送信履歴の表示
コマンド | 関数 |
---|---|
#git log#すべての過去のコミット レコードを表示 | |
すべてのコミット履歴履歴の簡潔な表示 | |
すべてのブランチのすべての操作記録を表示できます。 (削除されたコミット レコードとリセット操作を含む) | git log -p |
最後の 2 つのコミット履歴を表示します (注: 次の数値はカスタマイズできます。つまり、この書き方は git log の実施形態です) n) | #git log -p -2 |
コミット履歴を表示し、概要の内容を表示します (概要には、変更されたファイルと各ファイルで変更された行数がリストされます) | |
前のバージョンに戻る | |
---|---|
前の N バージョンに戻る | git restart --hard |
指定したバージョンにロールバックします | git reflog と git restart -- ハード < ;ロールバックするバージョン番号> |
をマージし、ロールバックしたバージョンを復元するには | |
コマンド |
異なるバージョン間のファイルの違いを表示 | |
---|---|
コマンド |
readme.txt | は、変更以降、一時記憶領域 (git add | ) に配置されていません。ここで、変更を元に戻して、リポジトリはまったく同じ状態です。
---|---|
#10.
# コマンド
| # を削除します。効果
git rm b.txt
最後にコミットすると、ファイルが削除されます。 | #git rm b.txt --cached |
---|---|
rm .git/index | ## を削除します。# 一時保存領域からすべてのキャッシュをクリア |
関数 |
View ブランチ
git checkout -b | |
git merge | |
git ブランチ -d | |
#推奨学習: 「 | Git 学習チュートリアル | 」
以上が事例と分析!一般的な Git 操作コマンドをまとめますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。