主持人注意:鉴于此问题已经发布了67个答案(其中一些已删除),请考虑在发布另一个问题之前是否提供任何新内容.
git pull
和之间有什么区别git fetch
?
如何强制覆盖本地文件git pull
?
方案如下:
这是我得到的错误:
错误:未经跟踪的工作树文件'public/images/icon.gif'将被合并覆盖
如何强制Git覆盖它们?这个人是设计师 - 通常我会手动解决所有冲突,因此服务器具有他们只需要在他们的计算机上更新的最新版本.
我从我的Github帐户克隆了一个git存储库到我的电脑.
我想使用我的PC和笔记本电脑,但有一个Github帐户.
当我尝试使用我的PC从Github推送或拉出时,它需要用户名和密码,但在使用笔记本电脑时则不需要!
每次与原点交互时,我都不想输入用户名和密码.我在这里缺少什么?
我有一个带有Git子模块的项目.它来自ssh:// ... URL,并且在提交A.提交B已被推送到该URL,我希望子模块检索提交,并更改为它.
现在,我的理解是git submodule update
应该这样做,但事实并非如此.它没有做任何事情(没有输出,成功退出代码).这是一个例子:
$ mkdir foo
$ cd foo
$ git init .
Initialized empty Git repository in /.../foo/.git/
$ git submodule add ssh://user@host/git/mod mod
Cloning into mod...
user@host's password: hunter2
remote: Counting objects: 131, done.
remote: Compressing objects: 100% (115/115), done.
remote: Total 131 (delta 54), reused 0 (delta 0)
Receiving objects: 100% (131/131), 16.16 KiB, done.
Resolving deltas: 100% (54/54), done.
$ git commit -m "Hello world."
[master (root-commit) 565b235] Hello world.
2 …
Run Code Online (Sandbox Code Playgroud) 我在一个有两个分支A和B的项目上工作.我通常在分支A上工作,并从分支B合并东西.对于合并,我通常会这样做:
git merge origin/branchB
Run Code Online (Sandbox Code Playgroud)
但是,我还想保留分支B的本地副本,因为我可能偶尔会检查分支而不先与我的分支A合并.为此,我会这样做:
git checkout branchB
git pull
git checkout branchA
Run Code Online (Sandbox Code Playgroud)
有没有办法在一个命令中执行上述操作,而无需来回切换分支?我应该用git update-ref
它吗?怎么样?
使用git 1.6.4.2,当我这样做时,git pull
我收到此错误:
error: unable to resolve reference refs/remotes/origin/LT558-optimize-sql: No such file or directory
From git+ssh://remoteserver/~/misk5
! [new branch] LT558-optimize-sql -> origin/LT558-optimize-sql (unable to update local ref)
error: unable to resolve reference refs/remotes/origin/split-css: No such file or directory
! [new branch] split-css -> origin/split-css (unable to update local ref)
Run Code Online (Sandbox Code Playgroud)
我试过git remote prune origin
,但没有用.
如何在Git pull上忽略以下错误消息?
合并将覆盖对以下文件的本地更改
如果我想覆盖它们怎么办?
我尝试了类似的东西git pull -f
,但没有任何作用.
要清楚,我只想覆盖特定的变化,而不是一切.
我一直在相对较短的时间内使用github,而且我总是使用客户端来执行提交和拉取.我决定昨天从git bash尝试它,我成功创建了一个新的repo和commit文件.
今天我从另一台计算机上对存储库进行了更改,我已经提交了更改,现在我回到家并执行了git pull
更新我的本地版本,我得到了这个:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream develop origin/<branch>
Run Code Online (Sandbox Code Playgroud)
这个回购的唯一贡献者是我,并且没有分支(只是一个主人).我在Windows上,我从git bash执行了拉动:
git状态:
$ git status
# On branch master
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
git branch:
$ git branch
* master
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我有一位同事声称这git pull
是有害的,并且每当有人使用它时都会感到不安.
该git pull
命令似乎是更新本地存储库的规范方法.使用git pull
创建问题?它创造了什么问题?有更好的方法来更新git存储库吗?