昨天,我发布了一个关于如何将Git存储库从我的一台机器克隆到另一台机器的问题,如何从另一台机器"克隆"?.
我现在能够成功地将Git存储库从我的源(192.168.1.2)克隆到我的目标(192.168.1.1).
但是,当我对文件,a git commit -a -m "test"和a 进行编辑时git push,我在目的地(192.168.1.1)上收到此错误:
git push
hap@192.168.1.2's password:
Counting objects: 21, done.
Compressing objects: 100% (11/11), done.
Writing objects: 100% (11/11), 1010 bytes, done.
Total 11 (delta 9), reused 0 (delta 0)
error: refusing to update checked out branch: refs/heads/master
error: By default, updating the current branch in a non-bare repository
error: is denied, because it will make the index and work tree inconsistent
error: …Run Code Online (Sandbox Code Playgroud) 我通过ssh克隆了一个项目,进行了一些更改,提交了它,然后尝试将更改推回(by $> git push),但是我收到了一个错误:"remote:error:拒绝更新签出的分支:refs/heads/master ".
为什么这样,以及如何解决它?
我目前正在使用git进行一个有两个参与者的项目(我和我的朋友).所以我做了以下事情:
我在一台机器上创建了一个存储库,该机器总是可以被本地网络上的任何机器访问.
我们都将这个存储库克隆到我们各自的本地机器上,创建了本地存储库.
现在假设在一个时间点(其中所有三个存储库副本处于完全相同的阶段),我分叉一个分支并在该分支中开始一些开发.我将这些更改推送到遥控器,我看到在遥控器中自动创建了一个新的分支.
在另一台机器上,我将该分支拉入一个同名的新本地分支,以便它们再次处于相同的状态.
现在当我完成这个fork分支,并且我希望它与master合并时,我只是做了一个checkout来掌握并做了一个git merge my_branch.现在,如何使此更改反映在全局存储库和其他本地存储库中?我是否还必须在那里发布合并命令?或者是否有某种方式来推拉,以便合并自动同步?
什么是git哲学?所有本地存储库和全局存储库是否应该通过提交完全同步提交,以便所有树都完全相同?或者单个树可以不同,并且相应的任何分支都可以相应地从遥控器中拉出来?
(我通过搜索命令来学习GIT,无论我需要做什么,但我对它应该如何工作感到非常困惑)
我创建的远程存储库是一个裸存储库