提交未显示在 github 上
Posted
技术标签:
【中文标题】提交未显示在 github 上【英文标题】:commits not showing up on github 【发布时间】:2012-06-25 19:14:20 【问题描述】: 我在 github 上创建了一个新的存储库。 我选择了添加 README.md 的选项之一。 然后我 cd 进入我硬盘上的项目。 我运行了 git init:在 /Users/myusername/github/myproject/.git/ 中初始化了空的 Git 存储库我运行了“git add”。然后是“git commit -m 'project files'”,响应如下:
[master (root-commit) ca52fe0] project files
981 files changed, 257939 insertions(+), 0 deletions(-)
create mode 100644 index.php
create mode 100644 license.txt
create mode 100644 readme.html
create mode 100644 wp-activate.php
...
然后我运行“git remote add origin https://github.com/myusername/myproject.git”
然后我运行“git push origin master”
然后我运行“git status”,它没有说要提交
但是我查看了 repo 并且我的“我的项目文件”提交不存在。于是我跑了 git pull 得到了这个:
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
然后 git push 并再次检查,我的提交仍然不在 github repo 上。我唯一能看到提交的是当我运行“git log”时:
MacBook-myproject myusername$ git log
commit ca52fe090e6dbf1b6aa6ee51c3283efbe7549904
Author: User <myemailaddress>
Date: Sat Jun 23 19:22:05 2012 -0400
project files
我尽我所能遵循 github 的指示。我做错了什么?
【问题讨论】:
当我运行上面的命令时,我得到这个: origin github.com/username/gitproject.git (fetch) origin github.com/username/gitproject.git (push) 另外,初始推送命令应该是:git push -u origin master
-u 标志表明您的本地分支应该是远程分支的“跟踪”分支。
是的,这些不是真正的网址。 username 指的是我的 github 用户名,projectname 是实际的项目名称
我还注意到,当我运行 git pull 时,它给了我一个错误,我将其添加到问题中
这让我很困惑。我曾经能够使用git push
推送,而无需指定来源(或分支)。但是现在我不能不做git push -u origin master
就推动。在去git remote -v
之后,我的删除看起来很好originn git@github.com:brando90/ultimate-utils.git (push)
...我的 git 配置比现在发生了什么我必须明确指定我要推送的位置并且 git push 本身不再工作?
【参考方案1】:
在您的 Github 存储库创建之后(即您可以在 Github 上查看它),那么您应该已经:
1。本地存储库设置:
git init
2。创建并添加到存储库的 README 文件:
touch README.md
git add README.md
git commit -m 'first commit'
3。一个名为 origin
的远程链接到您的存储库:
git remote add origin https://github.com/username/repo.git
4。初始推送,将您的本地 README 复制到您的 Github 存储库:
git push -u origin master
如果您可以在 Github 上查看您的存储库,则说明它已成功创建。在这种情况下,您可能已经使用在线编辑工具在 Github 上编辑了您的 README 文件,这导致您的远程和本地分支出现了分歧。
在你可以push
你的本地更改到Github之前,你需要fetch
或pull
你的远程更改,在本地合并更改(与pull
合并是自动的),然后push
到远程。
请参阅专业 Git:Fetching and Pulling from Your Remotes
【讨论】:
这让我很困惑。我曾经能够使用git push
推送,而无需指定来源(或分支)。但现在我不能不做git push -u origin master
。在去git remote -v
之后,我的删除看起来很好originn git@github.com:brando90/ultimate-utils.git (push)
...我的 git 配置比现在发生了什么我必须明确指定我要推送的位置,而 git push 本身不再工作?
@CharlieParker 你看过这个问题了吗:Default behavior of "git push" without a branch specified?【参考方案2】:
当您在 GitHub 上创建存储库时,您选择远程初始化包含一个 README.md 文件。下一步是在终端中运行git clone https://github.com/username/repo.git
。此时,您在 GitHub 存储库上有一个本地副本,因此您将移入您的项目文件。运行git add *
然后git commit -m 'first commit'
然后git push origin master
。您的更改现在应该在 GitHub 上可见。
【讨论】:
这让我很困惑。我曾经能够使用git push
推送,而无需指定来源(或分支)。但是现在我不能不做git push -u origin master
就推动。在去git remote -v
之后,我的删除看起来很好originn git@github.com:brando90/ultimate-utils.git (push)
...我的git 配置比现在发生了什么我必须明确指定我要推送的位置并且git push 本身不再工作?【参考方案3】:
在 git 提交后,您需要推送更改
git push origin master to push
在主分支中
git push origin branch_name to push
在二级分支中
一个分支的完整工作流程:
git checkout -b aosp_in_docker //checkout a branch and switch into it
git branch // to check all branches current branch will have * sign
git status //to check status of file
git add . //add untraced files
git commit -a -m 'added a docker container'
git push origin aosp_in_docker // push changes
git staus // check if success
【讨论】:
这让我很困惑。我曾经能够使用git push
推送,而无需指定来源(或分支)。但是现在我不能不做git push -u origin master
就推动。在去git remote -v
之后,我的删除看起来很好originn git@github.com:brando90/ultimate-utils.git (push)
...我的 git 配置比现在发生了什么我必须明确指定我要推送的位置并且 git push 本身不再工作?以上是关于提交未显示在 github 上的主要内容,如果未能解决你的问题,请参考以下文章