git 使用技巧

  • 命名规范

  • // 本地分支 local branch
    lBranch
    
    // 远程分支 remote branch
    rBranch

  • 拉取更新到本地

  • // 拉取仓库信息
    git pull
    
    // 拉取指定远程仓库到当前本地仓库: rBranch->远程仓库分支
    git pull origin rBranch
  • 查看分支信息

  • git branch
  • 查看本地、远程所有分支

  • git branch -a
  • 切换分支

  • // lBranch->本地分支名
    git checkout lBranch
  • 从指定远程仓库创建本地分支,并自动切换到新分支

  • // lBranch->新建本地分支名   origin/rBranch->远程仓库名
    git checkout -b lBranch origin/rBranch
  • 从当前本地分支创建新分支,并自动切换到新分支

  • // newLBranch->新分支名
    git checkout -b newLBranch
  • 从指定本地分支创建新分支,并切换到新分支

  • // newLBranch->新分支名   lBranch->指定的本地分支
    git checkout -b newLBranch lBranch
  • 推送到远程

    // rBranch->远程分支名
    git push origin rBranch
  • 查看分支关联信息

    git branch -vv
  • 关联当前本地与远程的分支

    // origin/rBranch->远程分支名
    git branch --set-upstream-to=origin/rBranch
  • 检查本地修改文件

  • git status
  • 添加本地目标文件

    // 添加所有修改
    git add .
    
    // 添加整个Scripts文件夹下所有修改,当前所在位置有该文件夹
    git add Scripts/
    
    // 添加指定文件修改
    git add filePath // 文件路径
    

  • 查看修改信息

    git diff --staged

  • 撤销添加内容

    // 撤销所有
    git reset .
    
    // 撤销整个Scripts/文件夹提交内容,当前所在位置有该文件夹
    git reset Scripts/
    
    // 撤销单个文件
    git reset filePath // 文件路径

  • 还原文件修改

  • // 还原未添加的所有文件(没有被git add 到缓存区里的文件)
    git checkout .
    
    // 还原未添加的Scripts/下所有文件,当前所在位置有该文件夹
    git checkout Scripts/
    
    // 还原未添加的指定文件
    git checkout filePath
  • 恢复文件到指定版本

    // 查看目标文件or目标文件夹日志
    git log 目标文件路径or文件夹路径
    
    // 找到想要还原的提交commit版本码,复制
    
    // 还原文件or文件夹
    git checkout 327*********************0ef  目标文件路径or文件夹路径

  • 提交分支到本地

    git commit -m '本次提交的信息日志'

  • 推送分支到远程

    git push

  • 移除本地分支

    // lBranch->要移除的分支名
    git branch -d lBranch
    // 确认无误,强行移除
    git branch -D dev

  • 移除远程分支

  • // rBranch->要移除远程的分支名
    git push origin --delete rBranch
    // 移除远程不存在的本地分支
    git remote prune origin

  • 移除Untracked files(无路径的文件)

  • git clean -f

  • 变基(rebase)

  • // 切换到分支
    git checkout lBranch
    
    // 变基从主干到分支
    git rebase orgin
    
    // 1-解决完冲突,直接continue
    git rebase --continue
    
    // 2-解决完冲突,添加解决的冲突
    git add .
    
    // 循环上两步,直到问题解决
    // 循环上两步,直到问题解决
    // 循环上两步,直到问题解决
    
    
    // 如果rebase解决冲突过程出现意外,随时打断,分支将回到rebase前
    git rebase --abort
  • 忽略or取消忽略文件

  • git update-index --assume-unchanged <要忽略的文件>
    
    git update-index --no-assume-unchanged <要取消忽略的文件>  

  • 代码提交时丢失

  • // .找回丢失的代码提交记录
    git fsck --lost-found
    
    git show 丢失记录id
    
  • 更换仓库地址

  • // 查看当前仓库地址
    git remote -v
    
    // 更换地址
    git remote set-url origin 新地址
    
  • 生成/添加SSH公钥

  • // 生成ssh key
    // ed25519->保存key文件的名称 
    // xxxxx@xxxxx.com->key的名称中英文都可以
    // 按照提示完成三次回车,即可生成 ssh key
    ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com" 
    
    
    // 查看ssh key
    cat ~/.ssh/id_ed25519.pub
  • 本地新仓库上传远程

  • // 本地新仓库初始化
    git init
    
    // 远程创建好仓库
    // 获得远程remoteURL
    
    // 本地新仓库关联远程
    git remote add origin remoteURL
    
    // 做第一次拉取,同步仓库信息
    git pull origin master
    
    // 提交想要添加到远程的文件夹
    git add dir1/ dir2/
    
    // 提交信息
    git commit -m'提交信息'
    
    // 提交
    git push
    
    // 查看远程仓库内容
  • 摘选合并提交其他分支提交commit ID

  • // 1.切到需要摘取的分支  lBranch01: 本地分支01
    git checkout lBranch01
    
    // 2. 查找需要摘的commit id,复制下来
    git log
    
    // 3.切到目标分支  lBranch02: 本地分支02
    git checkout lBranch02
    
    // 4.摘选到目标分支  commitId: 提交的ID
    git cherry-pick 粘贴commitId
    
    // 5.此时 从"本地分支01"的单独一条提交被合并到了"本地分支02"
    
    // 6.提交到远程
  • 摘选合并提交其他分支整个文件夹or文件

  • // A分支单个文件(文件夹)合并到B分支
    // 两个本地分支均更到最新
    // 切换到B分支
    git checkout A 路径/../文件名(路径/../文件夹)
    
    // 合并结束,记得查看提交
    git status
    git commmit -m'描述'
    git push

  • 回滚末次提交

git revert 粘贴commitId
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值