git操作笔记

tag管理

删除tag
git tag -d tagName
git push origin :refs/tags/tagName
创建tag

以当前commit创建tag

git tag -a tagName -m "my tag"

指定commit 创建tag

git tag -a tagName  fceb03 -m "my tag"

推送tag到远程

git push origin tagName

删除当前仓库所有历史commit记录

1.创建新的分支 (注意参数–orphan)

   git checkout --orphan branch_name

2.添加所有文件

   git add -A

3.提交

   git commit -am "init commit"

4.删除主分支

   git branch -D main

5.重命名当前的分支(branch_name)为main

   git branch -m main

6.强制推送到远程

   git push -f origin main

删除仓库某个文件所有历史commit记录

  • 强制Git处理但不检出每个分支和标签的全部历史记录
  • 删除指定的文件以及所有由此产生的空提交
  • 覆盖现有标签
git filter-branch --force --index-filter \
  "git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA" \
  --prune-empty --tag-name-filter cat -- --all

强制推送

 git push origin --force --all
 git push origin --force --tags

强制取消引用本地存储库中的所有对象并进行垃圾回收

git for-each-ref --format="delete %(refname)" refs/original | git update-ref --stdin
git reflog expire --expire=now --all
git gc --prune=now

fork仓库后同步原仓库最新代码(产生新的合并记录)

1、查看现有的远程仓库:

 git remote -v
origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin  https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)

2、添加指向原仓库的upstream:

git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

3、查看origin和upstream

git remote -v

4、直接从原仓库的master分支拉取代码并直接合并代码,其中pull=fetch+merge.

git pull upstream master

更换远程仓库地址

git remote set-url origin  REPO_URL

fork仓库后同步原仓库最新代码,合并本地commit(不产生合并记录)

这里fork后的仓库地址 https://github.com/itling/libp2p-rs.git
原仓库地址 https://github.com/netwarps/libp2p-rs.git
现在我要把fork后的仓库swarm_dial_min分支同步,并合并提交记录

git checkout https://github.com/itling/libp2p-rs.git 
cd libp2p-rs
git checkout swarm_dial_min
git remote add upstream  https://github.com/netwarps/libp2p-rs.git 
git remote -v
git fetch upstream
git rebase -i upstream/master

rebase时 第一条我们reword 其余的都fixup
rebase 的时候可能产生冲突 ,解决冲突后git add冲突文件

git rebase --continue

然后可能继续产生冲突,重复上述步骤 ,直接没有冲突

使用git log查看rebase后的结果是否与我们预期的一致

强制推送

git push -f  origin swarm_dial_min
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值