Git的备忘单

Git的速查表汇总

我会总结常用的Git命令和备忘录。
作为自我输出的一部分,我将创建一个Git速查表。
【如果有需要,我会持续更新。】

首先是非常基本的。

设置关系

# グローバルの設定編集
$ git config --global --edit


# 設定確認
$ git config --list

# もしくはこれ
$ cat ~/.gitconfig

建立仓库

# リポジトリの新規作成(.gitが作成される)
$ git init
# gitリポジトリのクローンを作成
$ git clone <リポジトリのURL>

添加到舞台上

git add 是将修改添加到暂存区中。
为提交做准备的修改操作。
生成压缩文件并将信息映射到索引文件中。

# 変更をステージに追加する
$ git add <ファイル名>
$ git add <ディレクトリ名>
$ git add .

提交

将更改记录到存储库 = 提交。
根据索引文件生成树文件和创建提交文件。

# コミットする
$ git commit
$ git commit -m "メッセージ"

# 変更内容も確認できる
$ git commit -v

写提交信息的方式。

在表达变更内容的要点和变更理由时,原则上需要遵循以下几点:
简单描述时,可将其写在一行内。
正式描述时,需要严谨表达,以符合要求。

1行目:変更内容の要約
2行目:空行
3行目:変更した理由

在提交或者暂存之前,确认了做了哪些修改。

确认变更的差异。以difference缩略。

# git addする前の変更分(ワークツリーとステージの間の変更差分)
$ git diff
$ git diff <ファイル名>

# git addした後の変更分(ステージとリポジトリの変更差分)
$ git diff --staged

查看更改历史

# 履歴の確認
$ git log

# 1行で見やすく表示
$ git log --oneline

# 特定のファイルの変更差分を表示する
$ git log -p <ファイル名>

# 表示するコミットの数を制限する
$ git log -n <表示する数>

记录文件删除

不使用git add。
缩写为remove。

# gitの記録から(すでにリポジトリにあるファイル)も消えるし、ワークツリーからも消す方法
# ファイルごと削除
$ git rm <ファイル名>
# ディレクトリごと削除
$ git rm -r <ディレクトリ名>

# ワークツリーにはファイルを残したい時
$ git rm --cached <ファイル名>

记录文件的移动

# ファイルの移動を記録する
$ git mv <旧ファイル><新ファイル>

# 以下のコマンドと同じ
$ mv <旧ファイル><新ファイル>
$ git rm <旧ファイル>
$ git add <新ファイル>

新增远程仓库

$ git remote add <リモート名> <リモートのURL>

# originというショートカットで、リモートリポジトリを登録する
# 今後は、originという名前でpushやpullが行える
$ git remote add origin https://github.com/user/〇〇

显示为远程

$ git remote

# 対応するURLも表示させるのであれば
$ git remote -v

远程修改或删除

当你想要更改远程名称或者不再需要使用远程时

# リモート名の変更
$ git remote rename <旧リモート名><新リモート名>

# リモートの削除
$ git remote rm <リモート名>

将代码推送到远程仓库。

$ git push <リモートリポジトリ名><ブランチ名>

# 例えば
# ローカルのmasterブランチを、登録したリモートリポジトリ名のoriginにpushする
$ git push origin master
# git push -uコマンドについて
# 次回以降 git pushだけで勝手にorigin masterでpushしてくれる

不想进行版本管理.gitignore

• 記录了密码等机密信息的文件(需谨慎处理AWS的密码等相关信息)
• 在团队开发中不需要的东西(如自动生成的文件和缓存)

.gitignore文件本身可以按照常规方法创建
.gitignore的编写方式

# #はコメント

# 指定したファイルを除外
index.html

# ルートディレクトリを指定
/root.html

# ディレクトリ以下を除外
dir/

# ワイルドカード
# 例:一つ階層を潜った任意のcssファイル
/*/*.css

撤销文件的更改方法。

(Note: The translation provided is in Simplified Chinese)

将工作树的更改恢复到之前的状态

通过从工作树获取舞台信息,将其恢复为原始状态。

# ブランチ名とファイル名がかぶった時に、どちらをしているのかGitがわからなくなるから【--】を使う
$ git checkout -- <ファイル名>
$ git checkout -- <ディレクトリ名>

# 全変更を取り消す
$ git checkout -- .

取消已进行的阶段更改

通过获取存储库的信息并通过覆盖变更部分来撤销舞台的修改。由于HEAD指向最新的提交,所以使用最新的提交信息进行重置。

$ git reset HEAD <ファイル名>
$ git reset HEAD <ディレクトリ名>

# 全変更を取り消す(たぶん使う機会はそうそうない)
$ git reset HEAD .

需要注意的是,由于只是从舞台上取消指定的更改,所以不会影响工作区。
换句话说,如果要同时撤消工作区的更改,需要进行以下操作。

$ git reset HEAD <ファイル名>
$ git reset checkout -- <ファイル名>

将最近的提交视为没有发生过。

将编辑内容全部视作不存在

$ git reset --hard HEAD^

修改/覆盖最近的提交

修订的含义:进行修改/改善。

$ git commit --amend

注意事项:不要取消已经推送到远程仓库的提交!

使用这个原理,可以在输入上述命令时修改前一个阶段的信息。
这样一来,不仅可以改变提交信息,还可以修改提交的内容。简言之

# コミットする
$ git commmit -m "htmlを変更しました"

# コミット内容を間違えた!となったとする
# ワークツリーにて該当箇所を変更して、git addで、ステージにあげる
# ステージの状態が修正されたら、ここで
$ git commit --amend

# コミットの内容を修正できる

修改提交信息

和上者一起

$ git commit --amend

取消提交

并非将提交视作未发生,而是留下相反的提交记录。

$ git revert <ハッシュ値>

从远程获取信息。

获取(フェッチ)

从本地获取信息。

$ git fetch <リモート名>

# 引っ張ってきたブランチは以下で確認
$ git branch -a

合并

# 現在のローカルのブランチにマージする
# スラッシュ(/)忘れるな
$ git merge <リモート名/引っ張ってきたリモートのブランチ名>

拉(动作)

在当前分支pull并且fetch和merge一起进行,需要注意因为它会获取到已经pull到当前分支的信息。

$ git pull <リモート名><リモートのブランチ名>

#よく使うのは
$ git pull origin master

那么,fetch和pull要如何区别使用呢?

我个人认为使用fetch更加可靠。
因为使用pull时会将拉取的信息直接合并到当前分支,如果没有意识到可能会误将其合并到不打算的分支中。
当不小心在另一个分支时要格外注意。

冲突相关

如果发生冲突

# まず状況確認
$ git status

# そしたら以下みたいな表示
both modified:   <ファイル名>

# ここに書かれているファイルのコンフリクトを解消する
# 解消方法:最終的な形を作って、必要ないものを削除
# その後ステージに上げて、再コミット
# コミットメッセージの詳細に"コンフリクトの解消"等を書いておく

尽量避免发生冲突的操作规则

    • 複数人で同じファイルを変更しない

 

    • pullやmerge前に変更中の状態をなくす

commitやstashしておく

pullする際は、pullするブランチに移動してからpull
(心構え)コンフリクトしても慌てない

状況確認して、コンフリクトを解消して、ステージに上げて、コミット

分支相关 zhī

如何切分支

# ブランチを切って、チェックアウトも同時に行う
$ git checkout -b <新しく作るブランチ名>

更改分支名称

# ブランチ名の変更
# ブランチ名を変更したいブランチに移動してから行う 
$ git branch -m <新しいブランチ名>

删除分支

# ブランチの削除
# materにマージされていない変更が残っている場合、削除されない
$ git branch -d <削除したいブランチ名>

# 強制的に消すには
$ git branch -D <削除したいブランチ名>

远程分支

指向远程分支状态的指针

# リモートブランチの参照は以下
# (/)スラッシュを使う
<リモート>/<ブランチ>

重构相关

重写以上内容的中文版本:

重新基础的流程

# 親コミットが同じfeatureとmasterがある場合、
# featureの親コミットをmasterとしてmergeしたい時
$ git checkout feature
$ git rebase master
$ git checkout master
$ git merge feature

请提供更多上下文。”プルのリベース型” 可以有不同的翻译,以下是一种可能的翻译:

拉动的重组模式

# プルする時にリベースで情報を取得する
$ git pull --rebase <リモート名><ブランチ名>

# 例えば
$ git pull --rebase origin master

以下是「スタッシュ相关」的中文释义:

– “致力于收集、存储和管理潮流文化产品的相关事务”

将作业暂时搁置

$ git stash
$ git stash save

# 一覧で確認
$ git stash list

恢复Stash

# 最新の作業を復元する
$ git stash apply

# ステージの状況も復元する
$ git stash apply --index

# 特定の作業を復元する
$ git stash apply [スタッシュ名]

删除存储

# 最新の作業を削除する
$ git stash drop

# 特定の作業を削除する
$ git stash drop [スタッシュ名]

# 全作業の削除
$ git stash clear
广告
将在 10 秒后关闭
bannerAds