总结了有关Git的信息
Git的作用是什么?
Git是用于管理文件版本的工具。它可以将文件信息保存为快照。
它被用来了解最新的文件、防止误覆盖等目的。
此外,通过追踪提交,可以将文件恢复到之前的状态。这是因为Git将文件保存为快照所以才能实现这一功能。
让我们在Git中输入用户的信息(进行初始化设置)。
#まずは下の二つを登録する
git config --global user.name "githubの名前"
git config --global user.email githubに登録したemail
git config user.nameなどで確認することができる。ローカル環境の場合はエディターも登録するらしい。
顺便说一句,将GitHub视为位于在线上的git代码存储库会更容易理解。这被称为远程代码库。
Git常用命令
进入文件夹的命令
切换目录。翻译为”change directory”的缩写。
列出文件和目录信息
使用“ls -a”命令可以查看目录的内容,包括隐藏文件的全部内容。
创建目录命令
创建一个新目录。
删除命令
我要删除这个文件。
复制命令cp
复制文件。
移动命令
进行文件的移动和文件名的更改。
猫指令
显示文件内容。
地方分成三个部分。
git的本地环境主要分为工作目录、暂存区和仓库这三部分。
为什么需要暂存区呢?这是因为有些修改后的文件需要保存到仓库中,而有些修改则不希望保存,使用暂存区可以满足这种需求。只需将想要修改的文件添加到暂存区,然后提交(保存快照),这样就可以实现只保存想要修改的文件的差异。
创建新的本地仓库
$git init
执行此操作会创建一个.git文件夹,这实际上是指本地仓库。
.git文件夹是一个隐藏文件夹,在工作目录中无法看到。
确认差异变更的方式
$git diff
$git diff ファイル名
$git diff --staged
通过这个命令,在终端中将显示文件的更改差异。
通过–staged参数,可以在终端中显示暂存区和本地仓库之间的差异。
在Git中取消暂存
$git reset
$git reset ファイル名
#以下でもok
$git reset HEAD .
$git reset HEAD ファイル名
这些命令从仓库获取最新的提交,并将差异修复到提交和暂存区中。换句话说,暂存区的修改被撤销,但工作区的修改没有被撤销。
查看修改历史
$git log
#1行で表示する
$git log --oneline
#ファイルの変更差分を表示する
$git log -p index.html
#表示するコミット数を制限する
$git log -n <コミット数>
记录文件删除操作
#リポジトリとワークツリーどちらも削除される
$git rm ファイル名
$git rm -r ディレクトリ名
#リポジトリからだけ削除し、ワークツリーではファイルを残したい時
$git rm --cached ファイル名
在提交包含密码的文件时,最后一个命令用来修正错误。
记录文件的移动
$git mv 旧ファイル 新ファイル
#以下のコマンドと同じ
mv 旧ファイル 新ファイル
git rm 旧ファイル
git add 新ファイル
执行此命令后,可以更改文件名称并将更改的差异上传到阶段。
添加新的远程代码库
$git remote add origin https://~~
将其发送到远程存储库
$git push リモート名 ブランチ名
#具体的には以下のような感じに。
$git push origin master
$git push -u origin master
$git push origin develop
如果加上-u选项,以后只需使用git push命令就可以将本地仓库推送到远程仓库。
顺便提一下,在需要确认远程存储库的URL时
git remote -v
通过尝试可以确认。
给它取一个别名
$git config --global alias.ci commit
$git config --global alias.st status
借助此,您可以输入简化的 git st 命令。
将文件从git管理中解绑。
可以通过在.gitignore文件中添加内容来将其从版本控制中排除。
撤销对文件的更改。
$git checkout --ファイル名
$git checkout --ディレクトリ名
#全変更を取り消す
$git checkout -- .
这些功能可以将工作区的状态与暂存区的状态同步。
重新执行最近的提交
$git commit --amend
当你使用git commit命令并忘记修改某个文件时,可以通过修改该文件、git add并执行git commit –amend命令来重新提交包含文件修改的更新。
请注意,不要重复推送到远程仓库的提交记录!!!
添加新的远程存储库
$git remote add リモート名 リモートURL
从远程获取,进行抓取。
$git fetch リモート名
$git fetch origin
这个命令的作用是将远程仓库的内容同步到本地仓库中。然而,它并不会反映到工作区中,所以需要进行git merge操作。
再次,当你获取到后
$ git branch -a
$ git checkout remotes/origin/master
还有一种方法可以将此步骤应用到工作区。
$git merge origin/master
使用此命令可以将名为origin的远程仓库的主分支反映到自己的工作树中。
远程获取。拉取篇。
当需要远程获取信息并一气完成合并操作时,可以使用pull。
$git pull リモート名 ブランチ名
$git pull origin master
以上提到的分支名是指远程存储库的分支名。
更详细地说,是将远程名称中的分支合并到当前所在的分支上的意思吗?
确认远程的详细信息。
$git remote show リモート名
$git remote show origin
使用这个命令可以获取比git remote更详细的信息。
修改远程名称
$git remote rename 旧name 新name
#remoteを削除したい
$git remote rm リモート名
新建一个分支
$git branch ブランチ名
注意事项是创建分支,但不进行切换。
切换分支
$git checkout 既存ブランチ名
$git checkout -b 新ブランチ名
通过切换分支进行开发,可以实现独立的开发进程。
合并的方法
顺便说一下,合并是指将其他人的修改内容合并进来。
$git merge ブランチ名
$git merge リモート名/ブランチ名
更改分支名称
#変えたいブランチに移動してからの
$git branch -m ブランチ名
删除分支
$git branch -d ブランチ名
#強制削除する
$git branch -D ブランチ名
“リベース” 是什么意思?
在整合变更时,我们使用rebase来整理历史记录。
$git rebase 繋ぐ元にするブランチ名
然而,如果将git push的分支标记为feature,并在feature分支上执行git rebase master,则会导致远程存储库中的记录与本地记录相矛盾,因此应避免对已git push的分支使用rebase。
拉取的rebase类型
只需获取远程仓库的最新信息,不需要提交commit时,我们可以使用常规的git pull origin master命令,它会留下合并commit。
$git pull --rebase リモート名 ブランチ名
$git pull --rebase origin master
使用该方法后,不再有提交记录。
将pull设置为rebase类型
$git config --global pull.rebase true
#masterブランチだけ設定したい時
$git config branch.master.rebase true
标记上
要想显示标签列表。
$git tag
#パターンを指定してタグを表示
$git tag -l "202001"
创建带有注释的标签
$git tag -a タグ名 -m "メッセージ"
$git tag -a 202001 -m "version 202001"
創建輕量版的標籤
$git tag タグ名
#後からタグ付けする
$git tag タグ名 コミット名
将标签发送到远程仓库
$git push リモート名 タグ名
$git push origin 202001
#タグを全て送信する
$git push origin --tags
在“Stash”(软件)上临时避免工作
$git stash
$git stash save
#どちらも同じ
通过使用stash来临时保存未提交的更改,可以在其他分支上进行操作,而无需进行提交。
确认避难后的工作
$git stash list
恢复被疏散的工作
$git stash apply
#ステージの状況も復元する
$git stash apply --index
#特定の作業を復元する
$git stash apply スタッシュ名
$git stash apply stash@{1}
删除已经避难的工作
#最新の作業を削除する
$git stash drop
#特定の作業を削除する
$git stash drop スタッシュ名
#全作業を削除する
$git stash clear
我想回到特定的Git提交!
$ git log //戻す対象のハッシュ値を調べる
commit ************************
$ git reset --hard ハッシュ値
这样做会使删除的文件和其他一些东西恢复原状。