我是新来的混帐我有一些疑惑与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
从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 举报,一经查实,本站将立刻删除。