Git使用总结

1.为了完成新的业务需求,创建了feature分支,完成开发之后,需要将代码merge到release分支同时删除此feature分支,删除远程分支之后,调用git branch -a 的时候,之前创建的feature分支依旧存在,如何删除本地缓存的分支呢?

  • git remote prune origin
  • git fetch -p

2 . git revert和git reset的区别

git reset是直接删除指定的commit(适用于commit未push到远端到情况)。
  • reset --hard 默认将本地commit全部重置
  • reset --hard HEAD~3 会将最新的3次提交全部重置
git revert是用一次新的commit来回滚之前的commit(适用于commit已经push到远端到情况)。
  • git revert commitId 撤销指定一次commit
  • git revert HEAD 撤销前一次 commit
  • git revert HEAD^ 撤销前前一次 commit
git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。

3. git查看远程仓库地址命令

git remote -v

3.git log查找某一个author的提交

git log --author='author'

4.基于当前分支拉远端分支

方法1

  • 1.git checkout -b branch_xxx
  • 2.git push origin branch_xxx

方法2
git push --set-upstream origin branch_xxx

5.git 中如何撤销部分修改?

1、如果没有被git add到索引区
git checkout a 便可撤销对文件a的修改
2、如果被git add到索引区,但没有做git commit提交
1)使用git reset将a从索引区移除(但会保留在工作区)git reset HEAD a
2)撤销工作区中文件a的修改git checkout a
3、如果已被提交,则需要先回退当前提交到工作区,然后撤销文件a的修改
1)回退当前提交到工作区git reset HEAD^
2)撤销工作区
git checkout a

6.git 打标签并推送tag到托管服务器

git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象,建议使用附注标签。

1.创建轻量标签

git tag v_1.0

2. 创建附注标签

git tag -a v_1.0 -m '1.0.0版本'

创建轻量标签不需要传递参数,直接指定标签名称即可。
创建附注标签时,参数a即annotated的缩写,指定标签类型,后附标签名。参数m指定标签说明,说明信息会保存在标签对象中。
7.合并分支报错
error: Commit 48d4329664e66e6ccf43c3655ec1f82903ce47b8 is a merge but no -m option was given.
fatal: cherry-pick failed

增加-m 参数
git cherry-pick 48d4329664e66e6ccf43c3655ec1f82903ce47b8 -m 1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,825评论 1 17
  • 特有名词解释 DETACHED HEAD HEAD normally refers to a named bran...
    清水芦苇阅读 614评论 0 0
  • (前注:此文为散文集《来如春梦》序言,旧作。贴出本文是想把这本书推出来,书里都是美文也很有深意和学习借鉴的地方,只...
    芳晨阅读 688评论 0 2
  • 你们还没发现吗?人工智能真的火了 大数据与人工智能有没有必然联系?我认为不一定!
    syFu阅读 240评论 0 0