标签: git

Git - 如果我想拥有一致的工作流程,挑选樱桃是一种不好的做法吗?

我发现cherry-pick在某些情况下特别有用,例如,当我有一个feature1分支和一个test-feature1分支时,我想应用测试中发现的更正;或者换句话说,我想测试新功能,为此我需要在测试分支中使用这些新功能。

cherry-pick这里的好处是我可以选择我想在其他分支中应用的具体更改;也许合并整个分支并不有趣。

我在过去的项目中一直在使用它,但我认为这种做法会导致工作流程不一致。是cherry-pick-ing一个不推荐和可避免的做法?

git cherry-pick

10
推荐指数
2
解决办法
5846
查看次数

我如何在 git 中知道一个分支是否已经重新建立在 master 上?

这与如何在 git 中知道分支是否已经合并到 master非常相似但是是关于检查重新定位的代码。在我目前正在处理的存储库中,似乎有一些功能分支在将更改重新定位到 master 之后被搁置了。在删除分支之前检查是否已完成的最佳方法是什么?

该分支上的大多数建议都建议使用分支上最后一次更改的 SHA id 密钥来检查其在 master 中的存在。我可以看到这是确保合并的最佳方法,但是当您重新设置此 SHA 时,此 SHA 已更改。

我有一个我也会发布的答案,但我想知道人们是否认为有更好的选择。

git git-rebase branching-and-merging

10
推荐指数
1
解决办法
4448
查看次数

如何使用 CURL 上传 github 资产文件

我想在我的桌面上上传一个名为“hello.txt”的文件到我的 git 存储库,它有一个版本。我该怎么做呢?我阅读了 git 文档,但它说的是:

POST https://<upload_url>/repos/:owner/:repo/releases/:id/assets?name. 如何在 CURL 中做到这一点。我不明白这一点。

如何将此文件作为发布资产发布到我的 github 发布?谢谢

git curl github-api

10
推荐指数
2
解决办法
6555
查看次数

GitLab 上的修补程序

我试图在http://docs.gitlab.com/ee/workflow/gitlab_flow.html上了解 GitLab 的建议流程。但是,我不太确定这个声明:

如果您需要挑选带有修补程序的提交,通常会在功能分支上开发它并通过合并请求将其合并到 master,不要删除该功能分支。如果 master 很好(如果你练习持续交付应该是这样),然后将其合并到其他分支。

这是否意味着,master 中会有 1 个以上的提交?例如,第一次提交(实际上是合并请求)是为了测试修复是否有效,第二次提交是在第一次提交失败时。

另一件事是,(假设我们有一个生产分支)如果我们将修补程序合并到 master 中,我认为我们必须在 master 上部署其他功能,不是吗?否则,我们会在 master 中挑选修补程序提交到生产分支。

实际上,建议的流程不如http://nvie.com/posts/a-successful-git-branching-model/ 中的另一个流程详细。所以,有点混乱。

git hotfix gitlab

10
推荐指数
3
解决办法
6334
查看次数

恢复 git merge --abort 后删除的 git 文件

我在“合并冲突”阶段丢失了添加到 git 的文件。

一步步:

git pull
git status
Run Code Online (Sandbox Code Playgroud)

Git 告诉我“合并冲突”,没关系。然后我创建一个新文件并将其添加到 git。

vi test.txt
git add test.txt
Run Code Online (Sandbox Code Playgroud)

之后,中止合并:

git merge --abort
Run Code Online (Sandbox Code Playgroud)

我既没有在目录中,也没有通过“git fsck”或“git reflog”找到文件“test.txt”。是否可以恢复文件?

git git-pull git-merge

10
推荐指数
1
解决办法
3332
查看次数

可以在不安装 Git LFS 的情况下克隆 Git LFS 存储库吗?

当使用 Git LFS 将大文件推送到 git 存储库时,系统上没有安装 git-lfs 的用户可以在没有任何额外设置的情况下克隆它吗?

git git-lfs

10
推荐指数
2
解决办法
6312
查看次数

如何使用寻呼机进行长 git add --patch 大块头?

当我用 交互式添加diff大块头时git add --patch,有时会得到比屏幕长的大块头,但无法less用于翻阅大块头。

这对我来说很奇怪,因为我已经设置了:

[core]
      pager = less -FRX --tabs=4

[pager]

  diff = diff-highlight | less -FRX --tabs=4
Run Code Online (Sandbox Code Playgroud)

interactive.diffFilter=管道通过less也无助于分页。

我需要做什么git add--patch才能使用它less,以便我可以使用键盘来导航超过一个屏幕的任何输出?

git git-diff pager git-add

10
推荐指数
2
解决办法
685
查看次数

AWS-Ubuntu-Git 设置错误致命:未设置 $HOME

当我的AWS EC2 Ubuntu实例启动时,我有一些cloudinit脚本要执行。

我想使用下面的代码设置GIT配置变量。

#cloud-config
runcmd:
- [ sh, -c, "git config --global user.name 'myname'"]
Run Code Online (Sandbox Code Playgroud)

登录终端时。我可以毫无问题地执行git config --global user.name 'myname'

但是,当我尝试使用cloudinit代码启动我的实例时。我收到一条错误消息

致命:$HOME 未设置

我的理解是,这是因为实例启动时未设置HOME

寻找解决方案,以在启动时设置 git 变量或替代解决方案。

git ubuntu amazon-ec2 amazon-web-services cloud-init

10
推荐指数
1
解决办法
4860
查看次数

错误:提交是一个合并,但没有给出 -m 选项

当我执行 git cherry-pick 时,出现此错误,我该如何解决?

$ git cherry-pick  XXXXXXXXXXXXX                                                                                                                                          
error: commit XXXXXXXXXXXXX is a merge but no -m option was given.
fatal: cherry-pick failed
$ git cherry-pick
    -m, --mainline <n>    parent number
$ git cherry-pick -m 1234 XXXXXXXXXXXXX
$ error: commit XXXXXXXXXXXXX does not have parent 1234
fatal: cherry-pick failed
Run Code Online (Sandbox Code Playgroud)

git

10
推荐指数
2
解决办法
1万
查看次数

VS Code Git 推送不是将代码推送到远程

我在我的设备中克隆了一个 GIT 存储库并开始使用 VSCode 编辑代码。然后我对我的代码进行了一些更改并成功提交。

但是当我尝试从推送菜单中推送它时,它似乎不起作用。它表明它正在同步,但这种情况会一直持续下去。

我找不到任何设置来配置 git 凭据。

git visual-studio-code

10
推荐指数
1
解决办法
2万
查看次数