分享5个Git使用技巧

2023-01-06 0 478

分享5个Git使用技巧

1、删掉选定commit

倘若某一工程项目之中有 3 条递交。

commit-3  bc3ce563 commit-2  b9c7e5c2 commit-1  5a480a4b

那时他们要删掉commit-2这条递交历史记录。如果怎样做呢?

第二步:采用git reflog查阅递交重要信息

git reflog
分享5个Git使用技巧

第三步:rebase操作方式

git rebase -i 5a480a4b

继续执行完那个指示后,就能看见 5a480a4b后的大部份 commit 历史记录。

分享5个Git使用技巧

把原本的pick单词修改为drop就表示该ID对应的 commit log 他们需要删掉。vim 保存退出。

第三步:解决冲突,强制推送更新到远程

git add .                   # 冲突时采用git commit -m“new commit”  # 冲突时采用 git rebase —continue       # 冲突时采用 git push origin master -f

再查阅远程的递交历史记录,发现commit-2就没有了。

2、修改历史递交人重要信息

不知道你有没有遇到过这种情况,在维护个人的开源工程项目时,常常采用公司的邮箱和用户名递交了 Git 重要信息。一旦递交了,又想修改,怎样操作方式呢?

第二步:配置工程项目的递交重要信息

git config —local user.name studeyang git config —local user.email [email protected]

第三步:继续执行下面脚本

git filter-branch -f –env-filter  OLD_EMAIL=“原来的邮箱” CORRECT_NAME=“studeyang” CORRECT_EMAIL=[email protected]if [“$GIT_COMMITTER_EMAIL” = “$OLD_EMAIL” ] then     export GIT_COMMITTER_NAME=“$CORRECT_NAME”     exportGIT_COMMITTER_EMAIL=“$CORRECT_EMAIL” fi if [ “$GIT_AUTHOR_EMAIL” = “$OLD_EMAIL” ] then     exportGIT_AUTHOR_NAME=“$CORRECT_NAME”     export GIT_AUTHOR_EMAIL=“$CORRECT_EMAIL”fi  –tag-name-filter cat — –branches –tags

3、彻底删掉某文件

不小心递交了某一文件,历史递交重要信息一直都在,怎么彻底删掉?

git filter-branch –force —index-filter git rm –cached –ignore-unmatch B类/B19-React/React入门.md –prune-empty –tag-name-filter cat — –all git pushorigin master –force –all

4、推送到选定仓库的选定分支

本地的代码是通过工具生成的,怎样把生成的代码推送到选定仓库下的选定分支?

# git push -f {your project} master:{your project branch} git push -f git@github.com:studeyang/studeyang.github.io.git master:webstack

5、常用的标签操作方式

5.1 查阅 tag

$ git tag V1.0.3 v1.0.0 v1.0.0C01 v1.0.1 v1.0.2 v1.0.4 v1.1.0

5.2 查阅 tag,带上 tag message

$ git tag -n1 V1.0.3          消息可视化 v1.0.0          正式版本 v1.0.0C01       正式版本 v1.0.1          v1.0.1 正式版本 v1.0.2          正式版本 v1.0.4          20迭代 正式版本 v1.1.0          22迭代正式版本

5.3 查阅 tag 的详细重要信息

$ git show v1.4 tag v1.4 Tagger: Ben Straub <[email protected]> Date:   Sat May 3 20:19:12 2014 -0700 my version 1.4 commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon <[email protected]> Date:   Mon Mar 17 21:52:11 2008 -0700     changed the version number

5.4 tag 数量很多,如果只对 v1.0 系列感兴趣

$ git tag -l v1.0* v1.0.0 v1.0.0C01 v1.0.1 v1.0.2 v1.0.4

5.5 创建 tag 并推送至远端

$ git tag -a v0.0.1 -m msg$ git push origin v0.0.1

5.6 轻量标签

$ git tag v0.0.1-lw

5.7 更新 tag

$ git push origin –delete v0.0.1 $ git log –pretty=oneline 15027957951b64cf874c3557a0f3547bd83b3ff6 Merge branch experimenta6b4c97498bd301d84096da251c98a07c7723e65beginning write support 0d52aaab4479697da7686c15f77a3d64d9165190 one more thing 6d52a271eda8725415634dd79daabbc4d9b6008eMerge branch experiment 0b7434d86859cc7b8c3d5e1dddfed66ff742fcbc added a commit function 4682c3261057305bdd616e23b64b0857d832627b added a todo file 166ae0c4d3f420721acbb115cc33848dfcc2121a started write support9fceb02d0ae598e95dc970b74767f19372d61af8 updated rakefile 964f16d36dfccde844893cac5b347e7b3d44abbccommit the todo 8a5cbc430f1a9c3d00faaeffd07798508422908a updatedreadme $ git tag -a v0.0.1 9fceb02 $ git push origin v0.0.1

最后

欢迎关注我的微信公众号「杨同学technotes」。君子之交淡如水,也可在公众号内添加我的微信,你我做个点赞之交,便好!

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务