开发者

Finding the name of the Git repository

On a server that I'm working, I find that I have Git supp开发者_Go百科ort. Tired by going with PuTTY to do each commit, I'll like to clone that repository to my machine and push back only when I've done my local work.

how can I find the name of that git repository? On that Linux server I'm a user which has access with FTP and SSH. My web application is public available on the address http://linux_server_IP_address/~linux_user.


The name of the repository is the folder name of the parent folder which contains the repository (since you do your work on that server, it's the folder, which contains the .git folder). But if there's a .git folder, it's not a bare repository, and then push to that repository is very bad practice. You should create a bare repository, and then clone that repository and push to it.


You want to know the path to your repository, not the name.

Assuming that your repository is stored under $HOME/myrepo, you could clone it that way:

git clone http://linux_server_ip/~linux_user/myrepo

But cloning via HTTP, you cannot push back changes to the server, so better use the SSH protocol:

git clone ssh://linux_user@linux_server_ip/myrepo

See the man page of git clone for more information about the different protocols.

Note that you won't be able to push directly to myrepo since it's not a bare repository. To push to master on myrepo, master must not be checked out on myrepo. To achieve this, go to myrepo, create a temporary branch (git checkout -b nocommit), then git push origin master:master and then git checkout master again.

The topic of pushing into a non-bare repository has been discussed several times here:

  • How to push to a non-bare Git repository?
  • Git: making pushes to non-bare repositories safe
  • cannot push into git repository


What people here fail to appreciate is that you are just typing

git <command>

and you never see a hostname.

You have to find your .git directory (it may be in a directory further up in your path), cd there and then check the config file, the whole URL you need will be there.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜