我想制作一个带有多个分支(主,开发,发布等等)的git裸存储库.所以问题是,是否有可能检查裸存储库或如何在分支之间切换(切换是否有意义)?
当我想推送到裸存储库时,我可以在裸存储库上进行合并,还是必须在本地进行合并并推送适当的分支?所以寻找正确的方法:-)
谢谢彼得
我现在要做的是将生产服务器上的私有存储库初始化到应用程序的www文件夹(例如:/var/www/app.com/web/),然后将其作为临时存储库克隆到我的测试站点(例如:/var/www/test.com/web/app.com/)并最终从登台到本地克隆以使用代码.
我的计划是正确的吗?
我正在关注这些教程,以了解有关设置"git服务器"和初始化私有存储库的更多信息:
最后一个问题,这个关于成功的Git分支模型的教程将适用于哪里?在主私有存储库(生产服务器),本地或混合?我还没有读完,我会尽快做到.
编辑:
这个http://www.howtoforge.com/the-perfect-subversion-server-debian-lenny-ispconfig-3和这个http://www.howtoforge.com/installing-subversion-and-configuring-access-through-不同的协议在ubuntu-11.10到GIT版本是我有点想到的
这是一个复杂的情况,但基本上这里发生的事情是我们的分支已经与主人分开了.基本上:
A - B - C master
\
X - Y - Z feature
Run Code Online (Sandbox Code Playgroud)
变成了:
A - B - C master
(A) - (B) - X - Y - Z feature
Run Code Online (Sandbox Code Playgroud)
对于A /(A)和B /(B),SHA是相同的.这正是它在GitK中的表现.在这一点上,我只是试图基本上按照以前的顺序将其恢复.不幸的是,由于SHA看起来是相同的,我不知道如何操纵X来分支出B而不是(B).老实说,我不知道从哪里开始尝试这种恢复.如何在提交B重新连接两个分支?
请注意,我已经看到了这个问题,但它似乎是一个稍微不同的问题,因为B和(B)的sha-1是相同的,因为它没有被改变.
我意外地拉下了一个与当地分支同名的分支
* 909a2b5 - (HEAD, feature/form) xxxx <imrane>
* c9d6bc5 - xxxx <imrane>
| * 6e96409 - (origin/feature) xxx <anandmv>
|/
* 38e35d8 - (origin/develop, origin/HEAD, develop) xxx <imrane>
Run Code Online (Sandbox Code Playgroud)
我已将所有更改提交到我的本地分支,然后运行
git fetch origin
Run Code Online (Sandbox Code Playgroud)
然后尝试跟踪远程分支并得到以下错误
git checkout --track origin/feature
error: there are still refs under 'refs/heads/feature'
fatal: Failed to lock ref for update: Is a directory
Run Code Online (Sandbox Code Playgroud)
问题:
1.如何恢复而不会丢失我在功能/表单
2 上提交的提交.如何在没有命名冲突的情况下拉下分支?
我从我正在处理的git存储库创建了一个本地分支.我已经做了很多次,但由于某种原因,分支被创建并在我的代码中放了一堆随机垃圾.(如随机文字和箭头).
因此我决定擦除分支并尝试重新创建它,因为我以前从未见过它.我去切换分支,它不会让我,因为"工作副本被修改." 我试图提交更改,但它说没有提交.
然后我去了终端并尝试提交,丢弃,删除分支,更改分支.所有这些都没有引起注意(要么"没有提交/丢弃"或"无法删除/更改未修改的当前分支").
我现在卡住了,无法更改分支,提交"更改",放弃更改或删除分支.有什么想法吗?
让我们说你在master,并做git checkout -B bugfix/user-profiles-nonexistent.现在有什么方法可以找出你的分支master,或者Git不跟踪它吗?
我在公司介绍Git。我有几个都通过套接字一起交互的应用程序,现在,将决定我是否应该使用
我也想使用标签进行修订;如果使用分支,则必须像branchnameV1.0, but if I use separate Git projects I could tag likev1.0 一样标记。
最常规的方法是什么?
我不小心用mv重命名了一个git下的文件.我将文件从小写重命名为大写,保持名称相同.
mv abc.java ABC.java
之后我也做了更改并提交了文件.
我现在如何对该文件进行实际的git重命名?Git bash似乎不理解ABC.java和abc.java之间的区别.
我不确定master(由其他人)发生了什么变化,但在转移到分支后,我无法将更改提交给文件.它说旧的文件索引仍然存在.
$ git commit -m"重命名为大写"ABC.java致命:不会添加文件别名'dir1/ABC.java'('dir1/abc.java'已存在于索引中)
当我执行git状态时,它会显示重命名的文件但不允许我提交重命名的文件.如果我尝试删除abc.java(实际上至少在本地不存在),再次(我认为由于不区分大小写)git删除新的.
如果我克隆了一个新的repo,那么repo仍然会删除带有旧名称(abc.java)的文件,但是我的所有更改都会在其中出现最近失败的文件.
我正在尝试删除所有合并的分支.我一直都在用
git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d但由于某种原因,它不再适用,即使我之前使用过这个命令.它返回错误"致命:需要分支名称"
git ×10
git-branch ×10
branch ×2
github ×2
commit ×1
cvs ×1
git-bare ×1
git-mv ×1
git-rebase ×1
git-reset ×1
git-tag ×1
pruning ×1
repository ×1
xcode ×1