git使用技巧

一、.gitignore不起作用

  • 原因:.gitignore只能忽略原先没有被track的文件,如果文件已经被加入到了版本管理中,再去添加.gitignore是不起作用的
  • 解决:
git rm -r --cached . // 清除本地当前缓存
git add . // 重新添加到暂存区
git commit -m '更新' // 重新提交

二、git pull 和 git fetch 的区别

在这里插入图片描述

  • git pull:从远程获取最新版本并merge到本地
  • git fetch:从远程获取最新版本但是不自动merge

三、撤销

  • 撤销一个提交
    • 撤销:git reset --soft HEAD^
    • 还原:git revert -m l HEAD
  • 撤销合并或拉动
    • git reset --hard
  • 本次提交跟上次使用同样的描述
    • git commit --amend
  • 使用git reset --hard [commit-id]丢弃了一切更改
  • 现在想找回reset之前的文件
  • git reflog查看提交记录,找到错误删除的文件的[commit-id]
  • 再次使用git reset [commit-id]回退

四、git stash的正确打开方式

  • 暂存工作区:git stash save "保存提示"
  • 取出工作区:git stash pop
  • 查看存了哪几个工作区:git stash list
  • 查看暂存的工作区都有啥更新:git stash show stash@{数字}查看最新的stash中的内容
  • 取出某个工作区:git stash apply 1 取出第二工作区
  • 新增的文件无法被存储:解决方法:git add加到版本控制中之后就可以stash
  • 清空工作区:git stash clear

五、提交代码至错误分支

  • 查看日志:git log
  • reset:git reset 提交前的节点
  • 恢复后暂存:git stash
  • 切换分支后释放暂存

六、多个ssh设置

  • 创建一个新的ssh ssh-keygen -t rsa -C “邮箱”
  • 换个名字 Enter file in which to save the key (/Users/xxx/.ssh/id_rsa): /Users/xxx/.ssh/id_rsa_github
  • 查看所有文件 ls -a ~/.ssh 查看生成的密钥 cat ~/.ssh/id_rsa_github.pub
  • 添加密钥 ssh-add ~/.ssh/id_rsa_github

七、其他操作

  • git reflog 查看本地提交
  • git show commitid 查看某个id提交的内容
  • git revert commitid 撤回某个id提交的内容
  • git cherry-pick commitid 找回某个id提交的内容

八、自动变基和取消自动变基

  • 自动变基
    git config --global pull.rebase true
    git config --global --add pull.ff true
  • 取消自动变基
    git config --global pull.rebase false
    git config --global --add pull.ff false

九、本地分支关联远程分支

  • 有远程分支
    • 本地创建一个与远程分支同名的分支:git checkout -b 远程分支名
    • 关联:git branch --set-upstream-to=origin/远程分支名
    • 查看关联情况:git branch -vv
  • 没有远程分支
    • 本地创建一个分支:git checkout -b 分支名
    • 提交到远程:git push origin 分支名
    • 关联远程分支:git branch --set-upstream-to=origin/分支名
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值