Git备忘录

获取GitLab中已上传的分支源代码的方法。

确认在 git status 中没有任何更改

git fetch

切换到 origin/[分支名] 分支并新建 [分支名] 分支。

git checkout -b feature_11_04 origin/feature_11_04

使用git stash命令来进行更改的暂存和显示暂存列表。

git stash
git stash list

删除已还原的stash。

# 最新のstashを復元し、削除 
git stash pop 
# N番目のstashを復元し、削除
git stash pop stash@{N} 

将stash进行恢复,并保留恢复后的stash。

# 最新のstashを復元し、残す
git stash apply 
# N番目のstashを復元し、残す
git stash apply stash@{N} 

删除第N个stash

# 最新のstashを削除
git stash drop
# N番目のstashを削除
git stash drop stash@{N} 

展示显示git stash隐藏代码与当前代码的变更点的命令。

git stash show -p stash@{0}

或者

git show stash

将特定的文件从git中排除。

git rm index.html

确认特定文件的日志和修正内容。

git log -p index.html

创建SSH密钥,并确认与GitHub的SSH连接。

ssh-keygen -t rsa
ssh -T git@github.com

ssh-keygen无论在哪个目录下运行,都会在用户的主目录下创建密钥。

添加、删除和确认别名。

git config --global alias.st status
git config --global --unset alias.st
git config --global --edit

正在进行工作的文件,将通过add命令移到暂存区的文件,全部被丢弃。

将其恢复为与最新提交时的状态相匹配的状态。

git reset --hard

将状态恢复到指定的提交ID。

git reset --hard <commit ID>

从现在起提交的内容(包括日志)全部丢弃。
如果创建了新文件并提交了该文件,那么该文件将被删除。

废弃了指定的提交记录ID之后的提交日志。

禁用在提交ID时的add和commit功能。

对于以下日志的情况,

$ git log --oneline
3a61ab6 12/28(thu) delete config file
5c32ada 12/27(wed) modify config file
abfac40 12/26(tue) add config file
bf0e0fd 12/25(mon) create new project 

如果要丢弃abfac40之后的5c32ada和3a61ab6的日志,只需要一种选择。

git reset abfac40

3a61ab6 5c32ada 的 log 将被删除。
3a61ab6 5c32ada 的变更内容将被保存。

在添加(add)之后,确认与最新提交(commit)之间的更改内容(与暂存区文件进行比较)。

git diff --cached

提交修改后的文件(省略 add 命令)。

git commit -a
git commit -a -m "コメント"

如果想要编辑或修改最新提交的注释,那么

git commit --amend

如果要修改在Github上push的提交评论

git commit --amend
(エディタが立ち上がるのでコメント修正する)
git push -f origin master
(強制的にpushして最新のコメントを上書き)

如果想要撤销在Github上推送的文件的情况

git reset --hard <commit ID>
(指定されたコミットIDの状態に戻す)
git push -f origin master
(強制的にpushされた内容を削除する)

或者 (huò zhě)

git revert <commit ID>
git push origin master

回退操作会在日志中记录撤销了提交。
重置操作并强制推送的方法不会保留撤销记录。

如果要在最近的提交中添加或修改文件。

git add <追加・修正したファイル名>
git commit --amend --no-edit
# --no-editでコミットメッセージは変更しない。コミットIDは更新される。

或者

git reset HEAD^

git add .
git commit

^ 的意思是指的是一个之前的版本。指定最新提交的前一个版本。
^^ 表示两个版本之前。也可以用 ~2。 HEAD~5 表示HEAD的前五个提交。

输出两个commit之间的差异

git diff <コミットID1> <コミットID2>

从当前分支的状态输出差异。

git diff <コミットID1>

获取在两个commit之间有差异的文件名列表。

git diff --name-only <コミットID1> <コミットID2>

指定文件以输出两个提交之间的差异。

# ファイル名一覧取得
git diff --name-only <コミットID1> <コミットID2>

# ファイル名を指定して差分出力
git diff <コミットID1> <コミットID2> <ファイル名>

只提交特定文件

# 「--」は無くても可
git commit -m 'add' -- hoge.txt
bannerAds