Git常用手册

主要记录日常开发时遇到的问题和常用的解决方法:

  1. No submodule mapping found in .gitmodules for path ‘Frameworks/XXX’
    1. 参考:http://stackoverflow.com/questions/1260748/how-do-i-remove-a-git-submodule
    2. $**git submodule**
    3. $**git rm ‘Frameworks/XXX’**
  2. 检查非法的branch名字
    1. A branch name can not:
      • Have a path component that begins with “.”
      • Have a double dot “..”
      • Have an ASCII control character, “~”, “^”, “:” or SP, anywhere
      • End with a “/” - End with “.lock”
      • Contain a “\” (backslash
  3. 拉取其他分支代码到当前分支:Git pull rebase
    1. 当我们需要从别的分支上面拉取代码,并且希望被拉取的commit能够很好地rebase到当前分支,我们就需要用到pull rebase
    2. 示例:从develop拉取代码到当前分支:
      • 确保本地分支代码和develop都已经push到origin
      • git pull –rebase origin develop
        • 把develop分支代码拉取到当前分支,此时会发现当前分支和develop分支代码并没有rebase,还是在两条不同的线上
        • 拉取完成后会发现如下的一些提示:
          • On branch feature/music
          • Your branch and ‘origin/feature/xxx’ have diverged,
          • and have 9 and 6 different commits each, respectively.
          • (use “git pull” to merge the remote branch into yours)
          • nothing to commit, working directory clean
      • git push -f
        • 把本地分支和develop分支强行push到origin
        • git push 会导致错误,因为使用pull rebase操作会生成两个不同的分支(Your branch and ‘origin/feature/music’ have diverged)
  4. Git分支管理策略
    1.推荐阅读 《Git分支管理策略 - 阮一峰的网络日志
    1. git workflow:
      1. 只需要保留master和develop分支。
      2. 日常开发时,从develop上面开一个feature分支,完成开发后,按需merge到develop分支中,merge成功后,可以删除feature分支。
      3. 发布前,使用release分支
      4. 产品上线后,使用从master分支fork出hotfix分支,完成bug修复后,merge到master和develop分支。
  5. Github pull request
    1. 《Mort | Pull Request的正确打开方式(如何在GitHub上贡献开源项目)》 – 原文404,可以参考转载
  6. Github Repo Migration:
    1. Github fork repo
    2. Github import repo
  7. Git 修改commit message:
    1. git commit –amend -m “New commit message”
  8. 查找commit message:
    1. git log –oneline | grep PATTERN
  9. 多个github账号的管理:
    1. https://gist.github.com/jexchan/2351996
    2. 本人常年使用公司和个人的Github帐号,在正确配置github帐号后,可以用命令行进行帐号切换。
  10. 清除git缓存:
    1. 有的时候会出现.gitignore文件不起作用的情况,需要清理git缓存:
    2. $ git rm –cached -r FOLDER_NAME
    3. $ git add .
    4. $ git commit -m “COMMIT_MSG”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值