Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在本地服务器和本地PC上使用GIT_Git_Macos_Versioning_Atlassian Sourcetree - Fatal编程技术网

在本地服务器和本地PC上使用GIT

在本地服务器和本地PC上使用GIT,git,macos,versioning,atlassian-sourcetree,Git,Macos,Versioning,Atlassian Sourcetree,我在尝试GIT时遇到了一个问题 我有我的本地机器(我们称之为MAC)和服务器(我们称之为服务器)。这是一个本地服务器,我通过桌面上的别名访问它 我想在此服务器上创建一个GIT存储库,在其中保存文件并将这些文件拉入MAC。然后,在编辑之后,我想将这些更改提交到服务器 SERVER MAC SERVER source -->> copy -->> commit 听起来很像GIT,但我只能找到这些远程服务器的教程,包括登录和密码等等。如何

我在尝试GIT时遇到了一个问题

我有我的本地机器(我们称之为MAC)和服务器(我们称之为服务器)。这是一个本地服务器,我通过桌面上的别名访问它

我想在此服务器上创建一个GIT存储库,在其中保存文件并将这些文件拉入MAC。然后,在编辑之后,我想将这些更改提交到服务器

SERVER        MAC         SERVER
source  -->>  copy  -->>  commit
听起来很像GIT,但我只能找到这些远程服务器的教程,包括登录和密码等等。如何使用本地服务器实现这一点

其他人使用这个本地服务器,如果他们能够拉入并提交这个相同的服务器存储库,那就太好了

非常感谢


ps:我正在使用SourceTree GUI,但我对终端并不陌生。

在本地和远程服务器上访问中央Git存储库没有区别。所有教程在任何情况下都有效。对于基本访问,您只需要:

  • 在服务器上创建一个普通用户帐户(例如git或george)
  • 设置对该帐户的SSH密钥访问权限。网上有很多教程,只要选一个就可以了。例如其目的是,当您在Mac上时,您可以通过SSH连接到服务器上的用户帐户,而无需用户名/密码,只需使用密钥即可
  • 登录到服务器上的用户帐户,创建一个裸Git存储库
  • 就这样,您就可以从Mac访问该存储库了

    例如,假设服务器名为
    myserver.com
    ,其IP为
    192.168.1.50
    。您可以通过SSH登录到该服务器:

    ssh george@192.168.1.50
    
    如果密钥设置正确,您现在已登录(不提供用户名/密码)。现在创建裸存储库:

    mkdir mygit
    cd mygit
    mkdir myrepository.git
    cd myrepository.git/
    git --bare init
    
    mkdir mylocalrepo
    cd mylocalrepo
    git init
    echo "sometext" > firstfile.txt
    git add firstfile.txt
    git commit -m "First commit"
    
    git remote add origin george@192.168.1.50:mygit/myrepository.git
    git push origin master
    
    然后在Mac上创建一个新的存储库:

    mkdir mygit
    cd mygit
    mkdir myrepository.git
    cd myrepository.git/
    git --bare init
    
    mkdir mylocalrepo
    cd mylocalrepo
    git init
    echo "sometext" > firstfile.txt
    git add firstfile.txt
    git commit -m "First commit"
    
    git remote add origin george@192.168.1.50:mygit/myrepository.git
    git push origin master
    
    现在,您可以将服务器上创建的存储库指定为本地存储库的远程存储库。在您的Mac(或要访问该存储库的任何其他计算机)上:

    或者,使用服务器名称而不是IP,以及其他远程名称:

    git remote add origin2 george@myserver.com:mygit/myrepository.git
    git push origin2 master
    

    一旦这些基础工作正常,您就可以开始考虑添加一个WWW界面。

    本地服务器和远程服务器有什么区别?还有,看看这个:这是个好问题。有什么区别?当我说本地服务器时,我的意思是我可以通过我的计算机访问它,不需要像github这样的网站或位于其他地方的服务器(我不知道我是否清楚),如果你在服务器上安装了git,并且有SSH访问它,这就是你所需要的。如果你想要的不仅仅是一个非常基本的设置,你可以在上面使用类似的东西。如果您想要一个完整的自托管GitHub克隆,可以使用或之类的东西。请参阅git scm手册中有关服务器设置的更多信息: