现在,我已经使用本地git存储库与我的组的CVS存储库进行了几个月的交互.我已经制作了一个几乎神经质的分支,其中大部分幸运地合并回我的行李箱.但是命名开始成为一个问题.如果我有一个容易用简单标签命名的任务,但是我在三个阶段完成它,每个阶段都包含它们自己的分支和合并情况,那么我每次都可以重复分支名称,但这会使历史有点混乱.如果我在名称中有更具体的说明,并且每个阶段都有单独的描述,那么分支名称开始变得冗长而且难以处理.
我确实在这里学习通过旧线程查看我可以开始用名称中的/来命名分支,即主题/任务,或类似的东西.我可能会开始这样做,看看它是否有助于保持更好的组织.
命名git分支有哪些最佳实践?
编辑:实际上没有人建议任何命名约定.当我完成分支时,我会删除分支.由于管理层不断调整我的优先事项,我恰巧有几个人.:)作为为什么我可能需要在任务上需要多个分支的示例,假设我需要将任务中的第一个离散里程碑提交到组的CVS存储库.那时,由于我与CVS的不完美交互,我会执行该提交然后杀死该分支.(如果我在那时尝试继续使用相同的分支,我看到太多奇怪的事情与CVS交互.)
我刚刚在git中将分支合并到master时遇到了问题.首先,我通过运行获得了分支名称git ls-remote.我们将该分支称为"分支名称".然后我运行git merge branch-name命令并得到以下结果:
fatal: branch-name - not something we can merge
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误?
是否有任何需要在Bash中转义的完整字符列表?可以用它来检查sed吗?
特别是,我正在检查是否%需要转义.我试过了
echo "h%h" | sed 's/%/i/g'
Run Code Online (Sandbox Code Playgroud)
工作得很好,没有逃脱%.这是否意味着%不需要逃脱?这是检查必要性的好方法吗?
而更普遍的:它们是相同的字符,以逃避shell和bash?
我试过了:
git branch "MyProj/bin/ ignored"
Run Code Online (Sandbox Code Playgroud)
并收到:
fatal: 'MyProj/bin/ ignored' is not a valid branch name.
Run Code Online (Sandbox Code Playgroud)
在混帐分支男子网页指向的git检查-REF-格式手册页,以获得实际的规则,一个有效的分支名称.
果然,上述致命错误的原因似乎是包含空格字符.
知道为什么,在这个时代,空间仍然被排除在分支名称之外(例如,我会在古老的CVS中预期它,但是Git?)
什么可能是有效的技术原因?
不知怎的,我的一个同事能够创建一个以句号结尾的分支.我不确定他是怎么做到的.现在,在使用遥控器时会出现问题.
坏分支是:'bugfix_ESP-924-invalid-email-error-message.'
当我做git fetch taylor它只是挂起.
当我列出分支时,这段时间是不可见的
git branch -r | grep 924
taylor/bugfix_ESP-924-invalid-email-error-message
Run Code Online (Sandbox Code Playgroud)
如果我尝试删除没有句点的分支,我得到404(有意义)
git push origin :taylor/bugfix_ESP-924-invalid-email-error-message
error: unable to delete 'taylor/bugfix_ESP-924-invalid-email-error-message': remote ref does not exist
Run Code Online (Sandbox Code Playgroud)
如果我尝试删除真正的分支名称,我会得到一个"无效的分支名称"
git push origin :taylor/bugfix_ESP-924-invalid-email-error-message.
fatal: remote part of refspec is not a valid name in :taylor/bugfix_ESP-924-invalid-email-error-message.
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我正在阅读本教程 https://www.atlassian.com/git/tutorials/syncing/git-fetch
它包含一个添加远程存储库的示例
git remote add coworkers_repo git@bitbucket.org:coworker/coworkers_repo.git
然后获取一个分支
git fetch coworkers_repo coworkers/feature_branch
fetching coworkers/feature_branch
Run Code Online (Sandbox Code Playgroud)
在最后一个命令中,为什么分支名称“coworkers/feature_branch”的名称有一个正斜杠?分支不应该是一串字符,例如“coworkers”或“feature_branch”吗?或者我有什么遗漏的吗?
在 git 中,可以使用-字符星来处理远程名称。
例如,我们可以添加一个以 开头的远程,只需使用git 命令中的-选项(命令选项和远程名称之间分开)即可更新它。----
但它不起作用:
git pull -- "-myremotename" "master"
Run Code Online (Sandbox Code Playgroud)
而且,我收到此错误消息:
error: unknown switch `y'
usage: git fetch [<options>] [<repository> [<refspec>...]]
Run Code Online (Sandbox Code Playgroud)
我认为该--选项在 中不起作用git pull,因为它是后跟 ,pull的组合,并且在执行这两个命令时不使用。git fetchgit merge--
有办法解决吗?
git pull当我在 Mac 上的终端中运行时,如何解决此错误?
remote: Enumerating objects: 115, done.
remote: Counting objects: 100% (115/115), done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 104 (delta 71), reused 63 (delta 30), pack-reused 0
Receiving objects: 100% (104/104), 3.92 MiB | 3.16 MiB/s, done.
Resolving deltas: 100% (71/71), completed with 9 local objects.
fatal: bad object refs/heads/main (1)
error: https://github.com/[...domain name...]/website.git did not send all necessary objects
Run Code Online (Sandbox Code Playgroud)
背景是我有一个网站,通常运行没有问题。我在 RStudio 中创建它并与 github 同步。Netlify 就是从这里开始的。以下是设置的基础: https: //www.apreshill.com/blog/2020-12-new-year-new-blogdown/。
在 RStudio 中进行更改后,我通常可以在 RStudio 内提交并推送更改。但这一次,它是这样说的: …
我试图表示Git分支使用~代号来贡献用户,该代号类似于在类似UNIX的操作系统上用于引用主文件夹的表示法,但是Git阻止我这样做,因为它会中止带有错误消息fatal: '~' is not a valid branch name.The branch的分支创建。贡献者的姓名应类似于~alice/feature/foo,~bob/bugfix/bar等等。
以下命令均不适用于Git 2.14.1版本:
$ git checkout -b '~'
fatal: '~' is not a valid branch name.
$ git checkout -b '~bar'
fatal: '~bar' is not a valid branch name.
$ git checkout -b 'foo~'
fatal: 'foo~' is not a valid branch name.
$ git checkout -b 'foo~bar'
fatal: 'foo~bar' is not a valid branch name.
Run Code Online (Sandbox Code Playgroud)
就目前而言,出于我的目的,我决定将@ at符号作为常用前缀。但是我正在重新考虑将分支名称中除-连字符和_下划线符号之外的其他非常不寻常的字符作为单词定界符的决定,这是由于可能会受到Git本身或Git存储库的底层文件系统施加的限制的影响并因此存储。
当我git checkout -b /dev/myfeature在Windows中执行该命令时,git bash返回此错误:
fatal: 'C:/Program Files/Git/dev/myfeature' is not a valid branch name.
我究竟做错了什么?