# Git指令
# 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
git pull origin master:brantest
# 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin master
# 暂存文件
# 这个暂存文件是一个栈结构的,先进后出
git stash => git stash push # 将当前暂存区(stage / index)的所有文件缓存起来
git stash push [filePath...] # 缓存指定文件
git stash save "提交描述" # 将当前暂存区的文件缓存起来
git stash apply # 拉区最顶层的一次记录,并且不会删除
git stash pop # 拉去最顶层的一次记录,并且从缓存区移除
git stash pop stash@{#num} # 拉去并删除指定记录
git stash drop stash@{#num} # 删除指定记录,不指定版本默认删除最早一次
git stash list # 展示所有缓存区内容
git stash show stash@{#num} # 显示第一个存储的改动,如果想显示其他存存储 #{num}
git stash show -p stash@{#num} # 显示文件差异
# 查看指定版本的所有修改内容
git show <versionNumber>
# 获取所有操作日志
git reflog # 获取所有操作日志
git reset <versionNumber> # 回滚到指定版本
git push origin Test:Test git push <remote Host> <local Branch>:<remote Branch> # 将本地分支推上远程分支
git push origin Test -f # 强制推上去
# 回滚操作
git reset <versionNumber> # 回退到指定版本,默认mixed
--soft 回退时保留源码,仅仅回退 commit,修改的文件仍然保存在暂存区,再次提交时只需要 git commit
--mixed(默认)回退时保留源码,回退 commit 同时修改的文件会置于 工作区,再次提交时需要 git add
--hard 回退时清除提交的源码(危险操作),源码和commit 都会回滚到某个版本
git revert <versionNumber> # 创建一个新的待commit用于覆盖希望回滚的commit,而reset是直接将指针指向回退的commit
# revert 只会回滚你希望回滚的哪一个commit的操作,不会影响其他的,reset 由于指针回退了,因此这个commit 之后的commit都会消失。
git diff main origin/main -p # 查看main分支和远程main分支的diff
# 这两条命令等价于
git rebase master feature
git checkout feature
git rebase master
# 如果发生冲突就先在代码内解决冲突后,重新add commit,后再 git rebase --continue,继续重建
# https://blog.csdn.net/weixin_42310154/article/details/119004977
git rebase -i head~4
# 合并之前的4次提交 pick 使用这个commit,squash 压缩到上一个pick内,也可以上下移动
git restore --staged <file> # 从暂存区中撤出add
git push --set-upstream origin master # 设置默认上游分支
# 这个会在指定commit新建分支并且checkout过去
git checkout -b·· justin a9c146a09505837ec03b
This will create the new branch and check it out.
# 这个在指定commit新建分支后不会checkout过去
git branch justin a9c146a09505837ec03b
This creates the branch without checking it out.
记录一些日常工作常用的Git指令
最新推荐文章于 2024-07-18 23:40:43 发布