小型网站开发的简单 GIT 工作流程

Simple GIT workflow for small website development by one

我是 git 的新手,正在努力了解它。

所以我正在本地开发一个简单的网站并使用 git 跟踪它,并希望面向 public 的服务器上的远程仓库成为实时站点,我可以将其推送到主站点只要我准备好就分支。

我认为下面的方法行得通,但行不通。

Public 服务器 我这样做了:

/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)

现在我想将此发布到 '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 website master

我得到:

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

我看了看 man git pull,它对我没有任何启发。

我这样做是否正确,但在推送命令中遗漏了什么?还是我误解了更基本的东西。

TIA!

很简单,按照小步骤继续:

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

    $cd 项目并执行 $git init --bare 假设这个 project.git 文件夹存在于您的 ip 中,地址在 home_folder/workspace/project.git, forex- ec2 - /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 文件夹后,克隆项目并将全部内容复制到该文件夹​​中。提交更改,它应该是相同的方式。克隆时请确保您具有访问权限或密钥是用于部署的远程服务器的密钥。

我怀疑我最初的问题被那些试图帮助我的好心人误解了。重申一下 - 我想在本地拥有开发回购协议,当我 'push' 让它自动更新我的网络服务器上的文件时,网站项目可以随心所欲地上线。

这是我的做法...

远程(网络服务器)

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

(最后一行做了两件事。它阻止了远程存储库抱怨对已签出分支的更新 - 它也会立即签出它。其他常用的方法添加一个 'hook' 到做这个过程的后半部分。)

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

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