我有一个git存储库,在master上有两个文件(例如,当我访问GitHub.com时),而在我的本地计算机(origin)上有一个git存储库,里面有很多很多文件。origin上有几个文件不在master上,我对master上的自述文件进行了更改,这些更改还没有在origin中更新。
我想要从源到主的git push选择脚本。
但是,我得到了这个错误
hint: Updates were rejected because the remote contains work that you do not have locally."
所以,我想要git pull我在master上的东西
在提出问题之前,我想知道我对Git概念的理解是否正确,请随时纠正我:
分支名称指向分支的提示(即结束提交),以及
头指向当前分支的分支名称,以及
当前分支被定义为签出到工作目录中的分支。
以下是我的问题:
当通过git命令将新提交添加到分支时(任何可以将提交添加到分支的git命令),
问题:
git命令是否总是将分支名称向前移动以指向新提交?还是有git命令将新提交添加到分支,这些命令不移动分支名称,因此需要运行其他git命令来移动它?
什么时候
- a new commit is added to **the current branch** by a g
这是如何恢复到以前的提交,并重新连接到它的头吗?
git log
git checkout 4bce33d #restore to a previous commit
git branch -f master #create new branch at head and force branch name to master
git checkout master #attach head to master branch
这只是在本地存储库上,没有远程。
有更好的办法吗?
我是git新手,使用svn已经有很多年了。我创建了我的master,然后从"master“目录内部创建了一个分支:
git branch Dev
git checkout Dev
但是该分支没有任何与其关联的文件。我想是我对git分支的误解。有人想解释一下吗?当我在svn中创建一个分支时,我得到了一大堆东西。
关于格瑞特,我有两个问题:
如何将已经存在的Git存储库转换或导入到Gerrit的格式中?在没有Gerrit控制的情况下有很多提交,我只想将这些提交推到Gerrit项目中。
我看到了两种方法:
1. Copy existing bare Git directory to Gerrit and then add it to database. Is that a safe method?
2. Push all commits from my local repository to gerrit repository.
如何将存储库从Git恢复为原始Git格式?是否需要删除G
背景
感恩节假期,我在路上做了一个没有互联网连接的项目。在我离开之前,我使用DropBox同步而不是git将文件移动到我的笔记本上。馊主意。.git目录没有正确地出现,没有Google,我唯一能做的就是吹掉整个文件,并启动一个新的git存储库。
我从假期回来,现在可以去GitHub,那里有着原始的历史。
问题
如何将新存储库中的提交应用于原始存储库?
插图
d -- e -- f -- * <= working tree when bad things happened
/
a -- b -- c (Original git repository)
我得到了支路与中断提交所有由于Git CR自动删除,即使只有一行被更改。
我们的存储库本身被破坏了:它是从SVN转换而来的,而没有剥离CR。
因此,任何没有autocrlf = input的Git客户端都会自动修复CR/LF。
我用可怕的系列修正了中断的提交,比如(使用core.autocrlf=false并为文件添加/删除最后一行以使它们不同):
git co broken
git co -b fixed HASH_OF_BROKEN
git -c core.autocrlf=false reset --hard
for f in broken.txt; do echo >>$