相关疑难解决方法(0)

我什么时候应该使用git pull --rebase?

我知道有些人git pull --rebase默认使用,有些人坚持不使用它.我相信我理解合并和变基之间的区别,但我试图把它放在上下文中git pull.它只是不想看到很多合并提交消息,还是有其他问题?

git

762
推荐指数
10
解决办法
37万
查看次数

476
推荐指数
9
解决办法
16万
查看次数

git pull VS git fetch git rebase

另外一个问题说,git pull就像是一个git fetch+ git merge.

但是git pullVS git fetch+有git rebase什么区别?

git git-pull git-rebase git-fetch

286
推荐指数
2
解决办法
13万
查看次数

`git fetch`然后`git rebase`和`git pull --rebase`有什么区别?

在阅读git pull页面时,它给出了以下严厉的警告git pull --rebase:

这是一种潜在危险的操作模式.它重写了历史,当你已经发布了这段历史时,它并不是一个好兆头.除非您仔细阅读git-rebase(1),否则请勿使用此选项.

git rebase页面中,它提供了大量描述,但没有这种警告.

另外,我见过有人这么说

git fetch
git rebase
Run Code Online (Sandbox Code Playgroud)

是相同的

git pull --rebase
Run Code Online (Sandbox Code Playgroud)

而其他人说他们略有不同.

真相是什么?

git git-rebase

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

git pull --rebase vs git rebase:危险是什么?

我不明白之间的差别git pull --rebase,并git rebase没有任何其他选择.

我不明白他们是安全的,良好的做法,还是非常危险的.

我可以git pull --rebase在当地做一个破坏历史的承诺吗?

git git-pull git-rebase

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

在同一个分支上工作,如何在不丢失变化的情况下拉动?

我和同事在同一个分支机构工作.现在我已经提交了一些文件并发送给代码审查,因此还有其他一些同事.现在他在我之前推送他的代码.我现在需要撤回他的更改,然后添加我的更改.但它已经承诺了.

如何获得他的更改,然后添加我的更改,而不会让历史看起来很糟糕,我不得不跳槽?我对git很新.

git git-pull git-commit

7
推荐指数
1
解决办法
6423
查看次数

重命名 repo 后更新 .git 文件的过程是什么?

我重命名了 BitBucket 上的存储库,当我尝试再次推送时出现错误。我重命名了一个存储库,现在看到:

cchilders:~/projects/gitflow_automation (master) 
$ showorigin 
repository does not exist.
fatal: Could not read from remote repository.
Run Code Online (Sandbox Code Playgroud)

所以我这样做

$ rm -rf .git
$ git init
$ git remote add origin git@bitbucket.org:codyc54321/gitflow_automation.git
Run Code Online (Sandbox Code Playgroud)

这会将新命名的存储库(尽管是相同的存储库,只是新名称)添加到新.git文件中。

然后我做了

cchilders:~/projects/gitflow_automation 
$ showorigin 
* remote origin
  Fetch URL: git@bitbucket.org:codyc54321/gitflow_automation.git
  Push  URL: git@bitbucket.org:codyc54321/gitflow_automation.git
  HEAD branch: master
  Remote branch:
    master new (next fetch will store in remotes/origin)

cchilders:~/projects/gitflow_automation 
$ git pull
remote: Counting objects: 70, done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 70 (delta …
Run Code Online (Sandbox Code Playgroud)

git github bitbucket

5
推荐指数
2
解决办法
3092
查看次数

避免在 git 中的拉取请求中合并提交

所以,我想创建一个拉取请求,它只包含对 file1、file2 和 file3 的更改(即功能的更新)。

我使用的工作流程:

git clone https://github.com/eghm/project.git project-eghm-clean
cd project-eghm-clean
git remote add upstream https://github.com/forkeduser/project.git
git fetch upstream
git merge upstream/master
git push
git branch featurebranch
git checkout featurebranch
#edit files: file1, file2, file3
git add file1
git add file2
git add file3
git commit -m 'updates for feature'
git push --set-upstream origin featurebranch
Run Code Online (Sandbox Code Playgroud)

然后在 github 上我转到我的分叉存储库,选择分支:featurebranch,然后单击拉取请求。该请求包括我通过同步 fork 进行的合并:

拉取请求包括同步合并

我将来如何避免这种情况?

git github

4
推荐指数
1
解决办法
1797
查看次数

git pull --rebase 解释

起点:我已经创建了一个分支master并在本地进行了提交。在我的分支工作期间,其他提交已被公关到master......

然后我在本地要做的是git checkout mastergit pull然后检查我的分支机构并git rebase master

我的理解是 - 此时 - 我在分支上工作时所做的所有提交都将在这些master提交“之后”应用。

我的理解git pull --rebase是它的作用正如我上面所描述的那样。我的问题是(假设这是正确的)如何知道git pull --rebase正在基于哪个分支?

在上面的步骤中,我已经重新建立了HEADof 的基础master,而大多数git pull --rebase解释似乎都集中在对同一分支(而不是原始的master)的提交进行重新建立基础。

我的典型步骤明确:

git clone <path>
cd <dir>
git checkout -b feature/my-branch
<make changes>
git add .
git commit -m "some message"
git checkout master
git pull --all
git checkout feature/my-branch
git rebase master
**git …
Run Code Online (Sandbox Code Playgroud)

git rebase git-pull

4
推荐指数
1
解决办法
6945
查看次数

什么是hg pull --rebase中使用的rebase命令

通常,在HG中,我的工作流程是专门使用:

hg pull --rebase
Run Code Online (Sandbox Code Playgroud)

如果我想在两个命令中运行它,我该怎么做?

hg pull
hg rebase <probably with some options?>
Run Code Online (Sandbox Code Playgroud)

mercurial rebase

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