我有一个共享服务器(hostgator),它为我提供了一个git客户端。
我想更新笔记本电脑上的代码并将它们直接发送到我的共享服务器。
我的问题是git
没有给我任何错误信息,但它没有改变任何内容。
这就是我所做的:
在服务器上:
serveruser@mydomain.com [~]# git init --bare mycode.git
Initialized empty Git repository in /serverhome/serveruser/mycode.git/
在本地计算机上:
localuser@localpc:~/path/to/local/code$ git init
Initialized empty Git repository in /home/localuser/path/to/local/code/.git/
localuser@localpc:~/path/to/local/code$ git remote add server serveruser@mydomain.com:/serverhome/serveruser/mycode.git
localuser@localpc:~/path/to/local/code$ echo '123456'>test;
localuser@localpc:~/path/to/local/code$ git add test
localuser@localpc:~/path/to/local/code$ git commit -m 'initial commit'
[master (root-commit) 5b7ce12] initial commit
1 file changed, 1 insertion(+)
create mode 100644 test
localuser@localpc:~/path/to/local/code$ git push server master
Counting objects: 3, done.
Writing objects: 100% (3/3), 209 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To serveruser@mydomain.com:/serverhome/serveruser/mycode.git
* [new branch] master -> master
我应该在哪里看到test
文件?它无处可去!既不在/serverhome/serveruser/
也不在/serverhome/serveruser/mycode.git
如果我再次推,我会看到这条消息:
Everything up-to-date
怎么办?
答案 0 :(得分:1)
serveruser@mydomain.com [~]# git init --bare mycode.git
Initialized empty Git repository in /serverhome/serveruser/mycode.git/
这是裸存储库。你可以像使用遥控器一样将其用作遥控器并推送到它,但它并不适合在其中工作和浏览文件。
您可以从服务器上的裸存储库进行克隆,并使用该克隆查看其中的文件,例如:
git clone mycode.git mycode
请注意,从本地电脑推送后,您必须在克隆中执行git pull
,以便从mycode.git
获取更改。裸仓库将是您本地仓库和克隆的通用遥控器。
如果要在每次推送时自动更新服务器上的克隆,可以创建post-receive
挂钩。我写了一篇关于on my blog的文章。
答案 1 :(得分:0)
文件实际上是推送的,但是你正在以错误的方式查找它,你可以克隆服务器上的git文件夹然后结帐主文件