简单的GIT工作流程,一个人进行小型网站开发

时间:2018-07-06 09:15:02

标签: git repository workflow git-push git-remote

我是git的新手,试图绕过它。

因此,我正在本地开发一个简单的网站,并使用git对其进行跟踪,并希望将面向公众的服务器上的远程仓库作为实时站点,随时可以将master分支推送到该站点。

我认为以下方法会起作用,但无效。

公共服务器,我这样做:

/home/mysite/git init --bare

本地(开发机器),我这样做:

git init
git add index.html (contains hello world)
git commit -am "initial commit"
git remote add website ssh://mysiteuser@mysite:myport 
git remote (outputs: website)

现在我要将其发布到“网站”

git push website

我得到:

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream website master

所以我尝试:

git push --set-upstream网站管理员

我得到:

fatal: No path specified. See 'man git-pull' for valid url syntax

我看着男人git pull,对我来说没什么亮面的。

我这样做是否正确,但在push命令中缺少某些内容?还是我误解了一些更基本的东西。

TIA!

2 个答案:

答案 0 :(得分:0)

这很简单,请按照以下小步骤进行操作:

  • 说一些ec2实例在远程服务器上安装git
  • 现在创建一个项目文件夹    $ mkdir project.git

    $ cd项目并执行$ git init --bare 假设这个project.git文件夹位于您的ip上,其地址位于home_folder / workspace / project.git,forexec2-/home/ubuntu/workspace/project.git

现在在您的本地计算机上,$cd进入要推送到git的项目文件夹,执行以下命令:

 git init .
 git remote add origin username@189.14.666.666:/home/ubuntu/workspace/project.git
 git add .
 git commit -m "Initial commit"

下面是可选命令,但是发现它是建议的,因为我正在尝试设置相同的东西

 git config --global remote.origin.receivepack "git receive-pack"

 git pull origin master
 git push origin master

这应该工作正常,并将本地代码推送到远程git存储库。

要检查远程获取URL,cd project_folder / .git和cat配置,这将提供用于拉入和推入操作的远程URL。

您还可以使用另一种方法,在git上创建project.git文件夹之后,克隆项目并将整个内容复制到该文件夹​​中。提交更改,并且更改方法应该相同。克隆时,请确保您具有访问权限,或者该密钥是用于部署的远程服务器的秘密密钥。

答案 1 :(得分:0)

我怀疑那些试图帮助我的好人误解了我最初的问题。重申一遍-我想在本地拥有开发仓库,当我“推送”它时,它会自动更新Web服务器上的文件,以使网站项目随心所欲地发布。

这就是我的做法...

远程(Web服务器)上

mkdir website
cd website
git init
// here's the clever bit!
git config receive.denyCurrentBranch updateInstead

(最后一行有两件事。它阻止远程存储库抱怨已签出分支的更新-并且也立即将其签出。其他常用方法添加了一个“钩子”来完成后一部分的过程。)

关于当地发展(我的笔记本电脑)

cd ~/website-dev-folder
git init
git remote add website ssh://my_user_name@mysever.com:my_port/home/website
git add some_file.html
git commit -m "initial commit"
git push -u website master

此后,在完成任何本地更改并将其合并到master中之后,要实时发布master分支,这很简单:

git push