git pull在git中,如果有任何未提交的修改则无法执行,出现以下错误:
错误:无法使用变基拉取:您有未暂存的更改。
错误:请提交或隐藏它们。
但它适用于未跟踪的文件。我发现这非常烦人,git stash每次我想要拉取时都需要这样做,即使我的更改与拉取的文件无关。
如果我的更改与拉取的更改不冲突,是否有任何解决方法允许拉取?我真的不明白为什么如果拉力不会破坏任何东西它就不起作用。如果这是一个安全问题,那么为什么它适用于新文件?理论上,拉取可以引入相同路径的新文件。
有什么解决方案可以让它变得更容易吗?
找不到我的问题所以我想我会问。
我自己和另一个人正在开发这个仓库。我的本地克隆是最新的。
我的伙伴删除了文件“example.txt”,提交并推送了它。
第二天我进来,执行 git status(最新),然后执行 git pull。它从我的本地存储库中删除“example.txt”。
问题是我需要该文件,但我的伙伴不小心删除了它。
我该如何防止将来再发生这种情况?有没有办法让 git pull 在删除某些内容之前先警告我?
因此,我尝试先执行 git fetch,然后执行 git status,但它并没有表明如果合并,我将删除文件。
这个问题基于这个主题.
我的.gitmodules在我家
[submodule "bin"]
path = bin
url = git://github.com/masi/bin.git
Run Code Online (Sandbox Code Playgroud)
我的文件夹 - 我家的结构:
~
|-- [drwxr-xr-x] bin // this is the folder which I make a submodule
// it is also a folder where I have a Git to push my submodule's files
| -- fileA
` -- folderA
...
Run Code Online (Sandbox Code Playgroud)
我跑
git submodule init # I get no output from these commands
git submodule update
Run Code Online (Sandbox Code Playgroud)
我跑
git submodule foreach git pull
Run Code Online (Sandbox Code Playgroud)
我明白了
Entering 'bin'
fatal: Where do you …Run Code Online (Sandbox Code Playgroud) 我有git pull的问题.我已经在本地回购中提交了我的更改.当我做git状态时,我会收到一条消息,说"你的分支超过'origin/cherryPick'提交1次".当我尝试从远程存储库中取出时,我收到一条消息"已经是最新的.".我想我错过了一些基本点.我已经粘贴了所有3个命令的下面的日志
wh-test $ git branch -a
alternate
* cherryPick
master
new
squashBranch
testBranch
remotes/origin/HEAD -> origin/master
remotes/origin/cherryPick
remotes/origin/master
remotes/origin/testBranch
git status
# On branch cherryPick
# Your branch is ahead of 'origin/cherryPick' by 1 commit.
#
git pull origin cherryPick
From ssh://xxxx.dyndns.org/home/shopapp/wh-test
* branch cherryPick -> FETCH_HEAD
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激
我确信这是一个非常简单的解决方案,但我不确定为什么我推送到GitHub失败了.
现在它看起来像:
$ git push origin master
To git@github.com:user_name/project_name.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:user_name/project_name.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
和:
$ git remote show origin
* remote origin
Fetch URL: git@github.com:user_name/project_name.git
Push URL: git@github.com:user_name/project_name.git
HEAD branch: master
Remote branch:
master tracked
Local ref configured for 'git push': …Run Code Online (Sandbox Code Playgroud) 是否可以使用其本地IP地址从其他用户工作目录中提取特定文件或更改?
例如
git pull http://192.168.1.101/sandbox/somefile.php
Run Code Online (Sandbox Code Playgroud)
应该注意的是,两个用户都在使用Windows XP.
谢谢,
P.
我正在一个本地分支机构工作,我需要从原点拆分其中一个分支,所以我发出了以下命令:
git pull origin设计
当我这样做时,该分支最终被合并到我当前的本地分支中,这根本不是我想要的.所以我需要做两件事:
我是git的新手,但仍然遇到很多麻烦.
说我正在努力a.cpp.我修改了一些代码a.cpp.而且,这种变化还没有准备好提交或推动.
然后,其他人也改变了a.cpp.
在SVN/CVS中,签出执行合并或冲突.
我认为这git pull也是一样的.
但是,似乎git pull不合并/冲突.这是正确的行为吗?
此外,git checkout只是简单地重写a.cpp,失去我所有的变化.
是否有任何简单的方法来提取最新版本并执行合并/冲突?
我刚刚在magento中安装了一个新的扩展,提交和推送.它位于github的临时分支上.我已经在我的登台服务器上使用了它
git pull origin staging
Run Code Online (Sandbox Code Playgroud)
它只是打破了我的网站.我需要还原它.我做到了
git push -f origin HEAD^:staging
git reset --hard HEAD^
git push origin staging
Run Code Online (Sandbox Code Playgroud)
这从我的分支中删除了扩展名.但现在我在服务器上使用这个分支
git pull origin staging
Run Code Online (Sandbox Code Playgroud)
它说" 已经是最新的 ".
如何从服务器中删除此扩展名?
我已经看过这里,但无法弄清楚我想知道的事情:如何git push或git pull弄清楚另一边缺少哪些提交对象?
假设我们有一个包含以下提交的存储库:(字母代表SHA-1 ID,d是refs/heads/master)
a -> b -> c -> d
Run Code Online (Sandbox Code Playgroud)
相比之下,遥控器具有:
a -> e -> f -> g
Run Code Online (Sandbox Code Playgroud)
根据git文档,遥控器会告诉我们它refs/heads/master处于g,但由于我们不知道该提交,这实际上并没有告诉我们什么.怎么能够找出丢失的数据?
在另一个方向,该文件说:
此时,fetch-pack进程会查看它拥有的对象,并通过发送"want"然后发送它想要的SHA-1来响应它所需的对象.它使用"have" 发送它已经拥有的所有对象,然后发送SHA-1.在此列表的末尾,它写入"done"以启动upload-pack进程以开始发送所需数据的packfile:
这解释了遥控器如何确定要发送的数据,但这不会影响具有许多对象的存储库的性能吗?否则,文本中实际意味着什么呢?
显然,根据方向(推动与拉动),数据传输的方式是非常不同的.这个设计选择遇到了什么以及如何遇到挑战,我如何理解文档中的描述?
git ×10
git-pull ×10
git-push ×3
git-merge ×2
github ×2
git-branch ×1
git-fetch ×1
git-remote ×1
git-status ×1
repository ×1
windows ×1