微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Git Pull和git push命令之间的起源主和起源/主站之间的区别

我是新来的混帐我有一些疑惑与git拉和git推命令。

例:

让我们假设我在本地机器“master”和“newbranch”(本地分支)中有两个分支。

$ git checkout newbranch

$ git分支

以systemd启动的进程正在logging到/ var / log / syslog和/var/log/daemon.log

C + UNIX,siglongjmp和sigsetjmp

C ++可执行文件,sh 1:未find

Powershell打开系统控制面板而不是执行代码

为什么在printf调用期间完成mmap?

*newbranch //Assume this is local branch only master

现在下面的命令是做什么的?

git pull origin master – >它将把远程的“master”变成“newbranch”(目前是checkout local branch)。

git pull origin / master – >它会将“本地”“主”中的最新变化拉到“新分支”(当前结账本地分支)。

git push origin master – >它会将“newbranch”(当前checkout本地分支)中的新变化推送到“remote”“master”。

git push origin / master – > ?? 这个是干什么的?

任何人都可以澄清疑问。

Thanks in advance

如何使用systemD重新启动服务时,下来?

在Linux中的atomic_t

Windows有自己的“调用其他.exe”函数(C ++)

从Linux中的PID进程名称

系统函数的返回值

git pull origin master或者git pull origin/master

它将从远程master的变化拉到“新分支”(当前结帐本地分支)。

确切地说 – 两者都会做同样的事情

最小的区别是origin/master将引用存储在你的仓库中的本地副本。

最好的做法是之前拉更新您的本地存储库:

git fetch --all --prune

git push origin master

将把“新分支”(目前结算本地分行)的新变化推向“远程”“主”。

那种

Git会尝试把当前的分支推送到远程的master,因为你是在不同的分支然后master(因为你本地的git版本),git不会让你这样做。

如果分支存在于远程,它将尝试推到相同的分支名称(追踪分支),并再次依赖于你的git版本,它将推送到远程或将引发错误

git push origin/master

它会推送到远程跟踪分支。

Git将使用origin/master作为远程名称,并尝试将当前分支名称推送到此远程。

在你的情况下,如果你在newbranch它将尝试推送到远程命名的origin/master ab分支名称newbranch

一般来说,这个命令的语法是:

git push <remote> [refspec]

如果refspec被省略,则简化为:

git push <remote>

它的行为取决于在git config push.default变量中设置的内容。 git消息说:

当push.default被设置为“匹配”时,git会将本地分支推送到已经存在的具有相同名称的远程分支。

在Git 2.0中,Git将认为更保守的“简单”行为,只将当前分支推送到“git pull”用来更新当前分支的对应远程分支。

要设置“匹配”模式:

git config --global push.default matching

并设置“简单”模式:

git config --global push.default simple

让我们回到你的具体情况。 由于没有“起源/主”远程存在(认远程称为“起源”),因此向远程名为“起源/主”的提交进行提交将失败。 为了使这个工作,你将不得不手动添加这样的远程,例如通过调用

git remote add origin/master <git-repository-url>

但请注意,这样的操作会使你的本地git非常困惑,你将不得不处理这样的错误

$ git push origin/master Counting objects: 5,done. Writing objects: 100% (3/3),253 bytes | 0 bytes/s,done. Total 3 (delta 0),reused 0 (delta 0) To git@github.com:sarxos/test.git 820474f..3706ea9 master -> master error: unable to resolve reference refs/remotes/origin/master/master: Not a directory error: Cannot lock the ref 'refs/remotes/origin/master/master'.

还有一些:

$ git fetch origin/master error: unable to resolve reference refs/remotes/origin/master/master: Not a directory From github.com:sarxos/test ! [new branch] master -> origin/master/master (unable to update local ref) error: some local refs Could not be updated; try running 'git remote prune origin/master' to remove any old,conflicting branches

所以我不建议使用它。

如果你想推送到起源/主(远程命名'起源'和远程分公司命名'主'),你应该做:

git push origin master

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐