Results 1 to 6 of 6

Thread: PHP Development with Version Control such as Git?

  1. #1
    Join Date
    Jan 2005

    Question PHP Development with Version Control such as Git?

    hey all was wondering if any one is using Git for their web projects?
    Im trying to update out development model to add reliability and better deployment options. Problem im facing is that our current model is we SCP to server and work like tat almost like a FTP but better. We use WinSCP + Notepad++, save changes in the file and its on the server and you can preview it right away. Git is nice BUT it works with local directory and to preview PHP project that means i need to run same server config on local machine and that is NOT possible a many client servers have different configs so the best case scenario i will end up running 10-20 VM with copy of server configs. Thats possible but does not seam nice

    Ideallly im looking for a solution or front end app can connect to Git server just like FTP or SCP we work there we click save we see file previews right away, we can drug and drop files for uploads. So nothing lives on developers computer. And integrated editor is Notepad++ but changeable to anything developer wants. Then at the end of the day developer can commit changes and push them to development server.

    Finally when we test whats on development server we can push update to "bare" server which is production.

    Any one ca share their experiences?
    What am I doing?

  2. #2
    Join Date
    Mar 2012
    I have no experience of Git, and my experience of version control/repository software is a system I co-wrote. I did that because it resides on an obscure OS, for which no ready-written solutions exist. However, from what I have read of it, the Git model is superior to your proposal, because developer's work-in-progress does not belong in the central repository anyway! There should be an alpha testing/sign-off process authorizing the transfer of enhancements and bug fixes to the central repository.

    What I would investigate is the possibility of locating the work areas on the Git server (separate from the repository). That is the model we implemented and it works fine. I understand that Git has full version control on the work-areas as well (which ours does not), so that would seem like the best of both worlds.
    Last edited by jedaisoul; 08-31-2014 at 02:53 AM.

  3. #3
    Join Date
    Aug 2004
    We use Git at work. I mostly just use Git via the command line, though there is integration for it in many editors/IDEs these days. If you go with GitHub as your repository, you can do a lot of stuff via links/controls on their web site, but I don't really use that, so can't comment on how complete/useful it is (other than to get the ssh path for cloning a repo).
    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

  4. #4
    Join Date
    Jan 2005
    tnx a lot!
    in your setup how to you get code to Git?
    Problem i see is that files have to be local on dev machine and then you send them to git, but that means that to preview you work locally you need to have server running on each machine you develop. So im my case laptop, office, home PC would need LAMP on them. Alternatively i can do work on remote web server then download files locally and commit them, but that looks stupid and time consuming. Another alternative is to setup separate remote server for each git user and allow them to commit form those servers to central location, that looks stupid as we would have multiple copes of same thing

    So im some what confused. It seams mobility + easy to use development is not compatible with version control?
    What am I doing?

  5. #5
    Join Date
    Aug 2004
    Yes, it's pretty typical to set up a test environment on your personal machine -- in my case for work it's a notebook PC I can bring home with me. If you need to work on more than one machine, it's mostly just a matter of keeping them in sync once you've cloned a given repo on each. About to go home from work?...
    git commit -am "all my changes for blah blah blah..."
    git push origin branch_name
    Fire up your home PC in your local environment there...
    git fetch
    git pull origin branch_name
    You now have all your latest code for that branch. (Just be sure to commit and push any changes when you're done so they're available to be pulled down when you get back to work tomorrow.)

    Alternatively, you could set up VMs on servers on your work network, providing a sandbox for each developer, and just connect to them via a VPN when working from home. Personally, I just like carrying my development environment with me in my backpack.
    "Well done....Consciousness to sarcasm in five seconds!" ~ Terry Pratchett, Night Watch

    How to Ask Questions the Smart Way (not affiliated with this site, but well worth reading)

    My Blog
    cwrBlog: simple, no-database PHP blogging framework

  6. #6
    Join Date
    Jan 2005
    ehh i guess will have to redo whole development procedures to allow local development
    What am I doing?

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center



X vBulletin 4.2.2 Debug Information

  • Page Generation 0.14227 seconds
  • Memory Usage 2,893KB
  • Queries Executed 13 (?)
More Information
Template Usage (33):
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (2)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (6)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • bbcode_parse_start
  • postbit_imicons
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates