如何将git与DEV和LIVE文件的本地副本一起使用



我是当前使用FTP部署我的代码并尝试移动git以帮助加快事物的Web开发人员。

我当前的项目看起来像:

  • webapp1_live
  • webapp1_dev

  • webapp2_live

  • webapp2_dev

live和dev文件都在本地存储(完整源(是因为:

  • 我需要远程服务器来测试我的代码(在崇高文本中保存本地文件时,我对FTP有一个自动上传(
  • 我使用diff工具来找出我在开发人员上修改了哪些文件并将其复制到实时目录(手动(,然后我必须手动ftp ftp ftp

我想使用git跟踪我的更改,但也要快速将我的更改从开发人员复制到实时目录(稍后我会弄清楚如何将这些更改ftp ftp ftp到我的远程服务器 - 我已经阅读了一些东西关于钩子等...这是一个不同的故事,我现在不想进入(

我尝试了崇高的合并来完成我想做的事情,并设置了开发人员并作为本地存储库生活,但是当我尝试将更改从开发人员推到现场时,我会得到这个错误:

remote: error: refusing to update checked out branch: refs/heads/master        
remote: error: By default, updating the current branch in a non-bare repository        
remote: is denied, because it will make the index and work tree inconsistent        
remote: with what you pushed, and will require 'git reset --hard' to match        
remote: the work tree to HEAD.

我已经阅读了有关裸存储库的信息,但据我了解,这没有工作目录,因此这意味着它没有文件的副本?!

可以通过使用不同的分支在git中轻松完成。

您当前的项目只会更改为:

  • WebApp1
  • WebApp2

实际上,我将它们分为两个存储库。然后,在分支上,Git默认使用所谓的master -Branch。该分支可以解释为生产环境,这意味着该分支上的所有代码都应工作并保持稳定(您的实时文件夹(

然后,我将创建一个基于Master的第二个分支,称为develop。这仅仅是主分支的副本,包括您要添加的所有新功能。您可以创建功能/热修正分支,然后可以将其合并到开发中,所有这些分支都可以在审核主分支后合并。

至于git,有一些命令可以帮助您这样做:

  • git init-这将初始化一个默认的git存储库主分支。
  • git checkout -b develop-这将创建一个开发分支从当前分支。
  • git checkout master-这将将您的本地分支更改为主分支。
  • git merge develop-而主人将合并所有从开发到主的更改分支。

在git

中设置您的当前项目
  1. 打开git终端,然后在webapp1目录中打开 cd
  2. git init .
  3. 初始化GIT存储库
  4. 运行git status以确保您在主分支上。
  5. 运行git push -u origin master以将您的主分支推到远程存储库。
  6. 运行 git checkout -b develop从当前的主分支创建开发分支。
  7. 运行git push -u origin develop将您的主分支推到远程存储库。

现在,在遥控器上,您有2个分支机构,持有您的实时环境和开发环境。

进行更改

  1. 切换到开发分支(git checkout develop(
  2. 从远程开发中提取最新版本:git pull
  3. 进行更改
  4. 添加文件和更改索引:git add -A
  5. 将您的更改提交索引:git commit -am "your change message"
  6. 将您的更改推向远程开发分支:git push
  7. 一旦一切都会好起来,可以为实时环境切换到主分支:git checkout master
  8. 从远程大师那里获取最新更改:git pull
  9. 将您的开发分支合并到主分支:git merge develop
  10. 将合并推向远程主分支:git push

相关内容

最新更新