git 常用方法

git使用过的命令记录

更改远程仓库

场景:拉下别人的代码,改改想变成自己的GitHub的项目。
1、clone代码
2、在自己的GitHub上边新建,远程仓库保持空白
3、在本地删除远程分支,然后再添加远程分支。

$ git remote remove origin
$ git remote add origin https://github.com/xxx/new_project.git
$ git push -u origin master

删除远程仓库文件,本地不动

场景:删除错误提交的本地环境配置文件,或者编辑器生成的文件,只删除远程仓库的文件,本地文件保留,在.gitignore文件中添加这些文件即可。

$ git rm -r --cached .idea  删除.idea文件夹
$ git commit -m '删除了target'  提交,添加操作说明
$ git push -u origin master

# .ignore
node_modules/
.idea/*
package-lock.json

配置

用户名密码配置

git config --global user.name [username]
git config --global user.email [email]

ssh配置

## 生成sshkey 
ssh-keygen -o -t rsa -C "your.email@example.com" -b 4096
## 复制
pbcopy < ~/.ssh/id_rsa.pub

还原文件或者文件夹到某个版本

git log dist # 查看需要还原的文件版本日志
git checkout hashCode dist

远程本地分支绑定

git branch –set-upstream dev origin/dev
git push --set-upstream origin dev

# git symbolic-ref --short HEAD
git rev-parse --abbrev-ref HEAD

新建分支

## git checkout -b 新的本地分支 master
git checkout -b create-pro-feature master
## 本地分支重命名
git branch -m old new

## git push origin 本地分支:远端希望创建的分支
git push origin feature/readme:feature/readme

## 分支是哪个分支切过来的
git reflog --date=local | grep 分支名称

## 新建无任何提交记录的分支
git checkout --orphan feat/xxx

文件大小写

  1. 配置git 使其对文件名大小写敏感
git config core.ignorecase false
  1. 修改名字,add,commit提交就可以了

查看提交记录

git log --oneline --graph
git show d34ff657f5
git diff d34ff657f5^!

stash

git stash save "Your stash message"
# 存储没有追踪的文件
git stash save -u
#or
git stash save --include-untracked

# 查看stash list
git stash list

# 将工作栈中最上面的 stash 应用到仓库中
git stash apply
git stash apply stash@{1}

# 和 stash apply 非常相似,但它会在应用到仓库后删除这个 stash
git stash pop
git stash pop stash@{1}

# 显示 stash 差异总结
git stash show
# 看完整的差异
git stash show -p
git stash show stash@{1}

# 删除仓库中创建的所有的 stash。有可能不能恢复
git stash clear

# 删除工作栈中最近的 stas
git stash drop
git stash drop stash@{1}

rebase

git rebase -i HEAD~3
pick 
s
s
...
 

log

git log
git log --oneline
git log --after="yesterday" // shows only commits from yeserday
git log --after="2020-15-05" --before="2020-25-05"
git log --author="Srebalaji"
git log main.rb
git log -S"function login()"
git log --merges
git log master..develop

查看分支创建人和创建时间

// 法一
git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)' | sort -k5n -k2M -k3n -k4n|grep branch_A
// 法二
git reflog show --date=iso <branch name>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值