1

自从我开始使用 Git 以来,我一直很难使用它。这是我想要克服的学习曲线。我已经阅读了手册和常见问题解答以及其他几个网站,但我仍然没有看到我期望的行为,并且希望将 VS2010 与 GiHub 一起使用的人不能给我我需要的魔法指针。

这些是我创建新项目/存储库的步骤。

1. 在 GitHub 上创建新存储库-为其命名并创建它

2.在VS2010中创建我的解决方案

3. 第一次提交

这些是我第一次提交解决方案的步骤:(我安装了 git 和 git 扩展,并且创建了一个 VS 工具栏,允许我从 VS2010 中弹出 git bash)

我单击在工具栏上创建的 Git 控制台按钮,我得到 bash 窗口,当前目录是我的解决方案的根目录

然后我执行这些命令将我的解决方案提交到 GitHub 站点上的 GitHub 存储库

1. git init -工作正常

2. 混帐添加。-工作正常

3. git commit -m 'First commit' -工作正常

3. git remote add origin git@github.com:alfalfastrange/RepositoryName.git -工作正常

4. git push -u origin master -然后我收到一条拒绝消息和一个关于快进等的错误,等等......

5. git pull origin master -工作正常

6. git push -u origin master -提交工作,然后我可以在 GitHub 上在线查看整个解决方案

现在我遇到的问题是从这里开始......如果我对我的解决方案进行更改,我无法将它们放入 GitHub。例如,我删除文件、添加文件和添加代码等,然后我准备好提交所有这些更改

我已经尝试了这些事件序列并且没有运气

1. 混帐添加。

2. git commit -m 'Second commit' -将更改添加到本地存储库

3. git push -u origin master -收到消息说一切都是最新的,我检查了在线存储库,没有进行任何更改

4. git pull origin master -我告诉一切已经是最新的

5. git push -u origin master -收到消息说一切都是最新的,我检查了在线存储库,没有进行任何更改

6. git push origin master -收到消息说一切都是最新的,我检查了在线存储库,没有进行任何更改

从那时起,似乎所有提交所做的只是将更改提交到本地存储库,而我尝试过的所有命令都不会将更改推送到 GitHub 存储库。

所以在这一点上,我有点恼火,这并不容易。使用我的 Ankh SVN 和 Codesion 设置,我所要做的就是单击 Commit 或 Update 以推送更改或从在线存储库中提取最新信息。

我错过了什么?因为我希望能够成功地使用 Git,而不必担心我所有的个人项目。提前致谢!

更新

运行 git branch -avv 命令后,结果如下

在此处输入图像描述

更新 2

运行步骤 1 - 6 并将 -f 添加到步骤 3 后

在此处输入图像描述

更新 3

从答案运行命令序列后

在此处输入图像描述

这对我来说没有任何意义,因为我们已经做了所有这些......我只使用 Git Bash

4

2 回答 2

1

您的第一条错误消息肯定是:

$ git push origin master
To ../remote/
 ! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to '../remote/'

这是正常的,考虑到您有两个平行的历史:GitHub(空仓库)和本地仓库中的一个。另请参阅“我无法在 git 上推送?
一旦你git pull,你将 GitHub 的初始历史合并到本地 repo 中,并成功进行第一次推送。

现在如果下一个 git push (不需要再添加-u一次)报告一切都是最新的,请检查您是否处于分离HEAD模式
这意味着 git branch 将不显示当前分支(*前面带有“ ”)。
其他原因:“ git 说一切都是最新的”。

于 2012-05-18T12:58:26.803 回答
1

这样人们就不必滚动浏览评论:

运行git fetch origin以将远程分支提取到本地存储库中。(您也可以将此步骤滚动到git remote add带有-f标志的步骤中。)完成后,您可以使用本地主机跟踪远程主机。

一切就绪后,最简单的工作流程如下所示:

# assuming an up-to-date branch and a dirty working copy
git add .   # Add changes under the current directory to the index
git commit -m "Commit message"
git push origin

add您也可以将and滚动commit到一个步骤中:

git commit -am "Commit message" # Commit changes in tracked files to your local repo

请记住,我不知道 Gitextensions 是如何工作的。它可能为此有自己的插件。

于 2012-05-23T03:40:58.147 回答