Git常用命令

Git常用命令

  • git clone
# 当克隆的库过大时, 可以指定克隆深度, 加快clone速度, 但会损失git库提交历史
git clone --depth 1
  • 从远程分支创建分支的最快方式
git checkout -t origin/远程分支名
  • 从远程分支创建分支的普通方式
    先查看远程所有分支:
git branch -va

然后切换到远程分支:

git checkout origin/远程分支名x

会出现这样的:

(detached from ...)

运行这命令即可(-b 即base,意思是以当前分支为base,新建一个分支)

git checkout -b 本地分支名x

或者可以直接用一条命令做上面三件事:

git checkout -b 本地分支名x origin/远程分支名x
  • 本地push到远程分支并新建远程分支,如下代码即是将本地Topic/V2.1提交到远程TopicTemp/V2.1分支上,若没有TopicTemp/V2.1这个分支则会新建这个远程分支
git push origin Topic/V2.1:TopicTemp/V2.1
  • git 查看是谁写的bug,grep -e 支持正则表达式
git blame 文件名 | grep '你想搜索的东西'
  • git 查看提交历史
git log --grep '你想搜索的东西'
  • git 回滚到某次提交
git reset --hard commitid
  • git 回滚某个文件被添加到暂存区
git reset HEAD fileName
  • git 将commit排序,可以加上分支名作为比较
git rebase [options]
  • git cherry-pick 可以将其他分支的某个提交合并到此分支,配合IDEA的话, 针对多库的情况也非常好用
  • git 保存临时文件及其恢复指令
git stash
git stash pop
  • git 移除Untracked file
git clean -fd
  • git 删除某个提交
    • 先找到你想删除的某次提交的前一个commit id,例如84eb37
    • 执行git rebase -i 84eb37
    • 将pick改为drop即可删除这个提交
    • 检查一下是否删除成功
  • git 回滚某个文件到某个提交
git log;查看你想要的回滚id
git reset {logId} {fileName};请手动替换logId,去掉{}

或者, 需要重新提交一次, 比较适用

git checkout [logId] [fileName]
git commit ...
  • git 查找曾经被删除的文件
git log --diff-filter=D --summary
  • git 远程分支配错了,怎么修改?
#首先看一下远程配置
git remote -v
#然后删除旧配置
git remote rm origin
#添加新的remote配置
git remote add origin [url]

有时候gitignore规则不会生效, 原因是那些文件已经被纳入到git的管理版本去了, 所以需要

  • .gitignore规则不生效的解决办法
git rm -r --cached .
#重新提交一次
git add .
git commit -m [commit messages]

git 获取hash值

git rev-parse --short HEAD
  • git hash 算法:SHA1 Hash
    验证:
echo 'Hello' | git hash-object -w --stdin
e965047ad7c57865823c7d992b1d046ea66edf78
echo -e 'blob 14\0Hello' | shasum
ee99a265de5129cb6bf47a2a88deac3714fed12c
  • git ls-tree
  • git show
  • 参考文献
  1. git objects
  2. git trees
  3. git commits
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值