【Git】的基本命令
首先
正在学习工程师的初学者们,以Rails为中心,参考其他文章或实际实施,将收集的结果整理为输出的一部分。可能会有错误,希望您能指出。
初始化git
在创建工作副本时会生成本地存储库(生成.git目录)。
$ git init
>
・リポジトリ
・圧縮ファイル
・ツリーファイル
・コミットファイル
・インデックスファイル
・設定ファイル
使用git config进行配置
将用户信息添加到git中。记录下是谁进行了提交等历史记录。
$ git config --global user.name "ユーザー名"
$ git config --global user.email "メールアドレス"
$ git config --list
>
credential.helper=osxkeychain
init.defaultbranch=main
user.name=ユーザー名
user.email=メールアドレス
使用git克隆 <仓库名称>
从远程代码库克隆(复制)到本地代码库。
$ git clone https://github.com/aaa/bbb.git
将更改文件添加到暂存区
将本地工作目录中的更改添加到暂存区(准备提交更改)。
$ git add <ファイル名>
$ git add <ディレクトリ名>
$ git add .
提交git
记录从本地舞台到本地仓库的更改。
$ git commit # gitエディタが立ち上がり、メッセージを追加する事ができる
$ git commit -m "<コミットメッセージ>" # gitエディタが立ち上がることなく、メッセージを追加する事ができる。
$ git commit -v # gitエディタが立ち上がり、さらにどのような変更を加えたかをエディタ上から確認する事ができる
查看Git状态
确认当前的更改情况。
显示未反映到本地代码库的更改 (工作空间内的更改,以及暂存区内的更改)。
通过提交并将更改内容合并到本地存储库中,使其不再显示。
$ git status
git 比对
查看更改的差异。
# git addする前の変更分確認
$ git diff <ファイル名>
# git addした後の変更分確認
$ git diff --staged
git日志
查看变更历史(提交历史)。
# 変更履歴を確認する
$ git log
# 変更履歴を1行で確認する
$ git log --oneline
# ファイルの変更差分を表示する
$ git log -p index.html
# 表示するコミット数を制限する
$ git log -n <コミット数>
使用以下命令将远程仓库链接到本地git库:<リモート名>为远程仓库名称,<リモートリポジトリURL>为远程仓库的URL。
用指定的名字添加远程URL到<远程仓库>。
从现在开始,您可以使用名称为<远程名称>的名称在GitHub仓库中进行推送和克隆操作。
通常情况下,远程名称通常为origin。
$ git remote add origin https://github.com/aaa/bbb.git
将本地分支推送到远程仓库:git push <远程仓库名> <分支名>
将本地存储库的内容推送到远程存储库。
$ git push origin master
# origin(登録したリモートリポジトリのURL)に対してmasterブランチをプッシュしている
撤销 git
取消变更部分。
HEAD指的是目前所在位置(是哪个分支的哪个提交位置)。
在使用时,提供了软和硬等选项,但基本上建议使用软选项。
切勿重新推动已经提交到远程代码库的提交。
# ステージから変更分を取り消す(ワークツリーの変更分には影響がない)
$ git reset HEAD <ファイル名> # ファイルの変更を取り消す
$ git reset HEAD <ディレクトリ名> # ディレクトリの変更を取り消す
$ git reset HEAD . # 全ての変更を取り消す
# コミットのみを取り消す場合は:--soft
# コミットコードを指定
$ git reset --soft <commitID>
# 直前のコミットを取り消しする場合
$ git reset --soft HEAD^
# コミット、ステージ、ワークツリーの変更が全て取り消される
# コミットコードを指定
$ git reset --hard <commitID>
# 直前のコミットを取り消しする場合
$ git reset --hard HEAD^
修正最新的提交
只能重新执行最近的一次提交。
请注意,已经推送到远程存储库的提交不能重新操作。
$ git commit --amend
Git 远程
显示已设置的远程信息。
# リモートリポジトリの登録名称を表示する
$ git remote
>
origin
# リモートリポジトリのURLを表示する
$ git remote -v
>
origin https://github.com/aaa/bbb.git (fetch)
origin https://github.com/aaa/bbb.git (push)
# リモートリポジトリの詳細情報を表示する
# 表示される情報は、「fetchとpushのURL」、「リモートブランチ」、「pullの挙動」、「pushの挙動」。
$ git remote show origin
* remote origin
Fetch URL: https://github.com/aaa/bbb.git
Push URL: https://github.com/aaa/bbb.git
HEAD branch: main
Remote branch:
main tracked
Local ref configured for 'git push':
main pushes to main (up to date)
拉取git
先从远程仓库获取信息。无论如何,首先执行git fetch的操作。
$ git fetch
$ git fetch <リモート名>
拉取代码
从远程仓库获取信息并合并。
在基本操作中,通常先使用git fetch命令获取信息,然后在确认获取的信息后,最好在本地进行合并。
$ git pull <リモート名> <ブランチ名>
$ git pull origin master
# 上記コマンドは省略可能
$ git pull
# 下記コマンドは上記コマンドと同じ結果になる
$ git fetch origin master
$ git merge origin master
请用中文问一个问题:命令 “git branch <分支名称>” 怎么解释?
添加新的分支。不进行分支切换。
$ git branch feature # featureブランチを新規追加する
分支
显示分支列表。
添加-a选项将显示所有内容,包括远程分支信息。
# ローカルブランチの一覧を表示する
$ git branch
>
* develop # 「*」は現在いるブランチを表している
main
# リモートも含めてブランチの一覧を表示する
$ git branch -a
>
* develop # 「*」は現在いるブランチを表している
main
remotes/origin/main # 「-a」オプションをつけるとリモートブランチの情報も含めて全て表示する
切换到指定分支:git checkout <分支名称>
切换到分支。
只需添加-b选项,即可同时执行新建分支和切换分支的操作。
# 別の既存ブランチに切り替える
$ git checkout <既存ブランチ名>
# ブランチを新規作成し、作成したブランチに切り替える
$ git checkout -b <新規ブランチ名>
删除分支 <分支名>
使用-d选项可以删除目标分支(未合并到主分支的分支不能被删除)。
– 当添加-D选项时,可以强制删除分支。
# ブランチを削除する(masterブランチにマージされていないブランチは削除されない)
$ git branch -d feature
# 強制的にブランチを削除する
$ git branch -D <ブランチ名>
合并git
将工作中的分支合并到指定的分支中。
# ローカルリポジトリのブランチにマージする
$ git merge <ブランチ名>
# リモートリポジトリのブランチにマージする
$ git merge <リモート名/ブランチ名>
$ git merge origin/master
git 栈
暂时搁置任务。
当需要在工作过程中使用工作区差异将其还原而不提交更改时(例如在需要紧急修补程序时),可以使用此选项。
# 作業途中の変更分を一時避難する
$ git stash
# 避難した作業を確認する
$ git stash list
# 避難した作業を復元する(以下のコマンドは避難作業の復元と削除を同時に実行する)
$ git stash pop
更改Git的远程仓库名称的命令是:git remote rename 旧远程仓库名 新远程仓库名。
更改遠端名稱
$ git remote rename origin tutorial # リモート名がoriginからtutorialに変更される
删除git远程仓库 <リモート名>
删除本地仓库与远程仓库的关联(不会删除远程仓库的信息)。
$ git remote rm origin
使用Git的命令将分支改名:<分支名称>
修改当前正在操作的分支的名称。
$ git branch -m new_branch
.gitignore文件
在.gitignore文件中列出的文件不会由git进行管理。
在.gitignore文件中添加项,以便不要将自动生成的文件、包含密码的文件等存储在git中。
# .gitignoreファイルについて
# #から始まる行はコメント
# 指定したファイルを除外
index.html
# ルートディレクトリを指定
/ronn.html
# ディレクトリ以下を除外
dir/
# /以外の文字列にマッチ「*」
/*/*.css
删除文件 <文件名>
记录文件的删除。
# ファイル(ディレクトリ)ごと削除
$ git rm <ファイル名>
$ git rm <ディレクトリ名>
# ファイルを残したいとき
$ git rm --cached <ファイル名>
使用Git命令将<旧文件>重命名为<新文件>。
记录文件移动情况(具有类似于Linux的mv命令的功能)。
# 同様のコマンド①
$ mv <旧ファイル> <新ファイル>
# 同様のコマンド②
$ git mv <旧ファイル> <新ファイル>
$ git rm <旧ファイル> <新ファイル>
git配置别名.<エイリアス> <コマンド>。
给命令添加别名。
添加“global”时,将适用于整个计算机的设置。
$ git config --global alias.ci commit
$ git config --global alias.st status