博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6.25-Git 技巧
阅读量:5235 次
发布时间:2019-06-14

本文共 1754 字,大约阅读时间需要 5 分钟。

致谢

前言

  • 自己是git新手,在本地没有分支的时候不知道怎么拉取(从别的电脑push的)远程分支,完全没办法,只好删除整个文件夹重新clone,后来到网上好好学了学,总算知道了。
  • 这里重点介绍一下本地没有该分支,需要到远程拉取该分支的方法

本地没有的时候拉取远程分支

错误做法

git branch link-rosforlvgit checkout link-rosforlvgit pull origin link-rosforlv
  • 因为,这样建立的branch是以master为基础建立的,再pull下来的话,会和master的内容进行合并,有可能会发生冲突

正确用法

  • git branch -a查看包括远程分支在内的所有分支:
  • 使用checkout命令来把远程分支取到本地,并自动建立tracking
git checkout -b link-rosforlv origin/link-rosforlv
  • 或者使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支
git checkout -t origin/link-rosforlv
  • 也可以使用fetch来做:
    git fetch origin link-rosforlv:link-rosforlv

    不过通过fetch命令来建立的本地分支不是一个track branch,而且成功后不会自动切换到该分支上

结语

  • 学完之后才发现有这么多种方法可以做到这些,瞬觉自己才疏学浅,惭愧惭愧。

误在master上做开发

  • git stash 可以暂时将当前修改压入git stack栈中,在checkout 到其他分支后再从栈中压出来
# on mastergit stashgit branch devgit checkout devgit stash apply# 注意:2,3两步可以合为git checkout -b dev

git submodule

合并一个分支的特定commits

合并一个分支的一个重要commit

  • 比如,feature 分支上的commit 62ecb3 非常重要,它含有一个bug的修改,或其他人想访问的内容。无论什么原因,你现在只需要将62ecb3 合并到master,而不合并feature上的其他commits,所以我们用git cherry-pick命令来做:
git checkout mastergit cherry-pick 62ecb3

commit提交错误

提交之后发现还有文件忘了提交

git commit -m 'initial commit'git add forgotten_filegit commit --amend # 这个命令会将暂存区中的文件提交

其他错误

detached HEAD问题

  • 使用VSCode时候,提交时选择了origin/global_planner而不是global_plannner,结果checkout 过去发现自己不在一个branch里面,而是在某一个commit里面
  • 问题是,我其实是想生成一个新的branch,并且保存这些更改
git checkout global_planner # 执行完毕后仍然在master分支git checkout otigin/global_planner # 执行完后来到了一个commit,而不是一个branch,此时就是detached HEAD状态git checkout -b temp # 将此commit生成一个branch# 之后就可以merge了git checkout master git merge temp

git large file support

remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com

解决办法

#下载git large file 插件# 到库里面git lfs install

转载于:https://www.cnblogs.com/lizhensheng/p/11117216.html

你可能感兴趣的文章
AFNetworking错误信息解析
查看>>
linux及安全第四周总结
查看>>
正则匹配 【】用法
查看>>
Nginx的ip_hash指令
查看>>
zabbix3.44+交换机华为或者H3C模版,监控所有的口updown以及流量的模版
查看>>
阿里云线上ROS静态路由转发,有大坑。
查看>>
笔记四
查看>>
poj_3662 最小化第k大的值
查看>>
spring-boot项目在外部tomcat环境下部署
查看>>
深入解析HashMap、HashTable
查看>>
linq join用法
查看>>
Codeforces 982B (优先队列)
查看>>
ACM组队训练记录(Grooming)
查看>>
c# 之 new 关键字
查看>>
【AnjularJS系列6】过滤器
查看>>
Redis-笔记
查看>>
【性能测试】脚本开发,最普通的http协议脚本2
查看>>
全国主要城市不同日照标准的间距系数
查看>>
sqlserver2008R2数据库自动备份脚本
查看>>
不要这样写SQL 改掉这些坏习惯
查看>>