如何从共享服务器中提取git repo并将其推回?

时间:2016-05-24 11:24:42

标签: git version-control

我正在学习Git我在godaddy上有一个网站。使用'Git Bash'工具,我使用git init将其初始化为git仓库。

这就是我所说的(详情)

使用Git Bash,我将SSH连接到远程godaddy服务器,如下所示

SSH my-user-name@177.62.28.96,然后运行以下git命令将现有文件初始化为git repo。 git initgit add * git commit ...

现在这被命名为回购的master分支。

这就是我想做的事

我想将此git repo拉到本地文件夹,进行更改,然后再git push

此问题再次开启(这就是原因) 这是因为@dendress的回答表明应该将远程仓库初始化为bare此答案的问题是虽然它成功推送,但更改未反映在远程文件上。

解决这个问题  文档建议在bare回购中没有工作树。所以变化无法反映出来。所以我做的是

  1. 我删除了.git/文件夹
  2. 使用git init
  3. 重新初始化目录
  4. 使用git clone my-user-name@177.62.28.96将其克隆到我的本地计算机上并进行了更改
  5. 在服务器上,我将repo更改为git config --bool core.config true
  6. 从我的本地计算机上运行git push origin master
  7. 这里是它的输出
  8. Pareek@ram MINGW64 /c/wamp/www/git/sarv/sarv (master) $ git push origin master pareekbhagu@177.62.28.96's password: Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (5/5), done. Writing objects: 100% (5/5), 442 bytes | 0 bytes/s, done. Total 5 (delta 4), reused 0 (delta 0) To pareekbhagu@166.62.28.96: 8d4041d..7906308 master -> master

    我认为这意味着推动成功,但**

    如何使更改反映在我的远程仓库

    **

2 个答案:

答案 0 :(得分:2)

您必须先将存储库克隆到本地计算机。这可以使用git clone命令完成,如

git clone my-user-name@177.62.28.96:path/to/git/repo

之后,您可以进行编辑,然后使用

将它们推回服务器
git push origin

注意:

  • 您应该将服务器上的存储库初始化为裸存储库(git init --bare),因为您要推送它。
  • 如果要在克隆存储库后在另一个分支上进行更改而不是主运行git checkout -u branch-name

答案 1 :(得分:0)

你也应该查看这个名为Pro Git的awesome book - 它是免费的,免费是好的吗?