git pull --help
将来自远程存储库的更改合并到当前分支中.
我拉git存储库以获取代码的离线视图,并希望获得不同分支的更新代码.如何在不手动拉动每个分支的情况下轻松拉动所有分支的代码?
--all - 获取所有遥控器.
- 所有人都没有帮助.
我有一个奇怪的问题.我使用TortoiseGIT(Win7),我的存储库被放置在一个vritual服务器(Debian)上,我使用gitolite和SSH密钥.
我可以clone存储库到我的电脑,我可以运行Fetch,Push,Commit,Sync...一切,但尝试时Pull从服务器的变化Pushed被其他贡献者,出现以下错误:
git.exe pull -v --progress "origin"
fatal: 'pull' appears to be a git command, but we were not
able to execute it. Maybe git-pull is broken?
git did not exit cleanly (exit code 128)
Run Code Online (Sandbox Code Playgroud)
我不明白,为什么只是pull命令不工作..感谢任何帮助.
我可以使用贡献Pull的更改来创建存储库的克隆..但是不能在我的PC上创建存储库的更改.
这就是我所做的:
git fetch origin
git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 2 commits.
git pull
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)
但git pull似乎没有用!这是我尝试时获得的输出git checkout master:
git checkout master
Already on 'master'
Your branch is ahead of 'origin/master' by 2 commits.
Run Code Online (Sandbox Code Playgroud)
为什么是这样?我如何解决它?
我在采取新措施时面临以下问题。( git pull)
错误:无法更新引用“refs/remotes/origin/xyz”:无法为“.git/logs/refs/remotes/origin/xyz”创建目录:没有这样的文件或目录
我检查了特定位置,既没有权限问题,也不存在这样的目录。
Jfyi 我已经搜索过类似的线程,但这些线程对我来说不起作用,其中大多数与追加、删除等相关。
我对此深感困惑,任何帮助将不胜感激。
肯定有这方面的帖子,但我实际上做了一个提交,因为我认为这是正确的做法.
所以,我有两个存储库,一个开发和一个生产.我不得不在生产中编辑一些东西,因为它是一个紧急的bug修复,现在我有三个文件在生产中比在开发中更新.
我在生产中提交了三个文件并尝试了拉,但它告诉我有合并错误.我尝试将新文件复制并粘贴到开发服务器并重试整个过程并且无法正常工作.现在我确定我需要的是开发(因为我复制并粘贴到它中)并且已经提交,所以我怎样才能拉出并覆盖冲突的文件?
----跟随@Seths回复
好吧,我想我确实需要改写我的问题:)我有三个存储库.一个开发,一个在GitHub和一个生产.通常为了更新生产,我只是从开发到GitHub git pull origin master(从GitHub到生产),它起作用.
不幸的是,我在没有藏匿的情况下更改了生产文件.尝试拉动时如何强制覆盖而不是合并?
我希望在git中有一个分支,它有2个上游分支,这样它就从它们中拉出来并推送到其中一个分支......
这是场景:
MY_BRANCH --> ORIGINAL_BRANCH
MY_BRANCH --> MY_BRANCH
Run Code Online (Sandbox Code Playgroud)
所以,我的新分支,MY_BRANCH从两个ORIGINAL_BRANCH和MY_BRANCH(在origin)拉出,并推到MY_BRANCH(在origin).
这可能在git中吗?
我已经添加了ORIGINAL_BRANCH作为上游,所以当我去git pull它时它从中拉出来.当我这样做时,git push它会推动MY_BRANCH,这很好.
但是我如何让它也跟随它MY_BRANCH,并从中拉出来呢?
(原因是其他开发人员可能会添加一些东西而不是它ORIGINAL_BRANCH).
有任何想法吗?
我是git的新用户,我正在使用JGit与远程git存储库进行交互.在JGit中,我过去常常CloneCommand克隆一个repo,它没有问题.但是,当我尝试使用时PullCommand,相当于SVN更新AFAIK,本地存储库内容不会更新.
这是我使用的代码:
private String localPath;
private Repository localRepo;
private Git git;
localPath = "/home/test/git_repo_test";
remotePath = "https://github.com/test/repo_1.git";
try {
localRepo = new FileRepository(localPath + "/.git");
} catch (IOException e) {
e.printStackTrace();
}
git = new Git(localRepo);
PullCommand pullCmd = git.pull();
try {
pullCmd.call();
} catch (GitAPIException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
这不会更新我使用命令行推送到远程存储库的新文件的本地存储库.但是,如果我删除本地存储库并再次获取克隆,则会反映所有更改.
请告诉我PullCommand在JGit 中使用的正确方法是什么.
编辑:
远程存储库的结构:
root ____ file_1
|______ directory_1
|__________ file_2
|__________ file_3
Run Code Online (Sandbox Code Playgroud)
在初始克隆之后,从命令行推送了directory_1和两个文件,我尝试了这个代码,这样它就会反映在本地存储库中,而这种情况并没有发生.
用于克隆存储库的代码:
File file = new File(localPath);
CloneCommand …Run Code Online (Sandbox Code Playgroud) 我对Github还很新,虽然我处在一个我必须积极使用它的位置.
无论如何,我使用"git pull upstream master"来拉动和合并我正在进行的项目的最新代码.我以为这个命令会更新我电脑上的实际文件(出现在目录中的那些文件等),但是没有任何反应.
当然控制台提到了很多变化,但似乎没有一个变化.作为一项实验,我甚至删除了其中一个文件中的所有内容并重新拉出以查看是否会发生变化,但我得到了"已经达到最新状态".
如果有帮助,我输入git branch -v并获得以下内容:
* master a2e10a4 [ahead 29] git workflow experiment
Run Code Online (Sandbox Code Playgroud)
另外,git status给出以下内容:
# On branch master
# Your branch is ahead of 'origin/master' by 29 commits.
#
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
最后一点,我唯一的分支就是大师.
发生了什么以及如何让"拉"更改显示在我的目录/计算机上?
谢谢.
我和同事在同一个分支机构工作.现在我已经提交了一些文件并发送给代码审查,因此还有其他一些同事.现在他在我之前推送他的代码.我现在需要撤回他的更改,然后添加我的更改.但它已经承诺了.
如何获得他的更改,然后添加我的更改,而不会让历史看起来很糟糕,我不得不跳槽?我对git很新.
我想我理解git pull,这就是我如何解释它,我称之为"简单术语":
git pull是将 "远程"分支合并为"本地"分支.现在我想得到同样的解释git pull --rebase.我不想使用诸如"head","index","fetch","upstream"这样的术语,因为这些术语/概念只会让像我这样的初学者感到困惑.我知道我需要学习这些"高级"概念,我是通过阅读教程来实现的,但就目前而言,作为学习过程的一部分,我想要理解git pull --rebase.
添加
我想在某些时候我听到了以下解释.通过git pull --rebase.当我们合并时,我们不是以"对称"的方式进行,如上所述.相反,我们首先"忘记""本地"存储库中的更改,并仅应用"远程"存储库中的更改.通过这样做,我们基本上"复制"远程存储库.之后,我们将"本地"存储库中的更改应用于顶部.但是,我仍然不清楚它究竟意味着什么.特别是,"顶部"意味着什么.
git-pull ×10
git ×8
branch ×2
commit ×1
git-branch ×1
git-commit ×1
git-push ×1
git-rebase ×1
git-refspec ×1
github ×1
gitolite ×1
java ×1
jgit ×1
merge ×1
pull ×1
tortoisegit ×1
versioning ×1