Editing
Mediabistro Git Configuration
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Configuration== ===Logins & workflow=== ssh: [uname]@wmbdev1.iworld.com [http://git.iworld.com/blogs/repository Git repositories (web interface)] l/p:email/super-basic [http://wiki.mediabistro.net/index.php?title=Git Git on mediabistro wiki] (including basic workflow) ===Repositories=== After logging in with SSH repos are found at <code>/www/[SITENAME]/git/[USERNAME]/[SITENAME]/</code> E.g. if my username is <code>dbarchowsky</code> and I need to work on the <code>blogs</code>: <syntaxhighlight lang="bash"> $ cd /www/blogs/git/dbarchowsky/blogs/ </syntaxhighlight> == Cloning an existing repo == How to start working on an existing repo for the first time. * `ssh` to `wmbdev1.iworld.com` * Navigate to the appropriate directory and create a sandbox.<br />Using '''insidefacebook''' as an example: <syntaxhighlight lang="bash"> $ cd /www/insidefacebook/git/ </syntaxhighlight> <strike>$ mkdir dbarchowsky</strike> <strike>$ cd dbarchowsky</strike> * Clone the repo. :* Find the project on http://git.iworld.com :* Make a note of its clone property. <syntaxhighlight lang="bash"> $ # the argument to "git clone" comes from the project proeperties found on git.iworld.com $ git clone git@git.iworld.com:insidefacebook.git </syntaxhighlight> :* In the case of `insidefacebook` this creates a root directory "insidefacebook" with another "insidefacebook" directory inside of that. It was necessary to install the root "insidefacebook" directory in `/www/insidefacebook/git/` and then rename the root "insidefacebook" directory to "dbarchowsky" to create the sandbox. :* Copy a `wp-config.php` file from an existing sandbox. :* No edits are necessary to the new copy of `wp-config.php`. Optionally edit it to make `WP_DEBUG true`. * Create a branch for the new task. <syntaxhighlight lang="bash"> $ cd insidefacebook $ git branch $ # response should be "* master" $ git co -b tm[TASK_ID] $ git branch $ # response should be " master" followed by "* tm[TASK_ID]" </syntaxhighlight> * Tar up the repo. <syntaxhighlight lang="bash"> $ tar -czvf insidefacebook.tar.gz insidefacebook </syntaxhighlight> * FTP to the server. * Download the tar file. * Uncompress the tar file in the local working directory. * Create a new PHP project in NetBeans. ** Set the '''run configuration''' for the project such that the files are uploaded to the sandbox on wbmdev1.iworld.com when they are saved. ** It's not necessary to have the project in a git repo locally. The repo is maintained on the sandbox on wmbdev1.iworld.com. ** After a file is uploaded, at the command line on the wmbdev1.iworld.com server: <syntaxhighlight lang="bash"> $ git status -s $ # the response should include the file that was uploaded </syntaxhighlight> ==Basic workflow for a new task== ===Update Git repo and create new branch=== * Log in with SSH. * Navigate to the appropriate Git repo (see [[#Repositories|Repositories]]) * Get latest version of code <syntaxhighlight lang="bash"> $ git co master $ git pull $ git co -b tm[TASK_ID] </syntaxhighlight> === Make edits with NetBeans IDE === * Create a NetBeans project to download and upload local from the blogs sandbox. (This only needs to be done once.) ** Project URL: [sandbox url] e.g. <code>http://dbarchowsky.blogs.mediabistro.com/</code> ** Remote Connection: <code>wmbdev1.iworld.com</code> ** See [[Git_Workflow#Netbeans|Setting up Remote Connection in NetBeans IDE]] ** Upload Files: "On Save" [[file:Netbeans-wmbdev1-settings.png|thumb|NetBeans remote connection settings for wmbdev1.iworld.com]] [[file:Netbeans-wmbdev1-run-configuration.png|thumb|NetBeans run configuration for wmbdev1.iworld.com]] * Before editing files, right click on the file and select 'Download'. * Edits will be uploaded to the sandbox with each save. * Preview changes on the sandbox. E.g. http://dbarchowsky.blogs.mediabistro.com/tvnewser/ ===Checking in edits=== * See [http://wiki.mediabistro.net/index.php?title=Git#Committing_changes|"Committing changes" on the Mediabistro Wiki] <syntaxhighlight lang="bash"> $ git status -s $ git add [PATH] $ git commit -m "[task title]" $ git push origin tm[TASK_ID] </syntaxhighlight> * The convention is to copy the task title from the task details and use that for the commit message. ===Moving changes to preview (for review)=== <syntaxhighlight lang="bash"> $ cd /www/[APPLICATION]/git/preview/ $ git fetch $ git merge remotes/origin/tm[TASK_ID] </syntaxhighlight> Now the changes will be visible at http://preview.blogs.mediabistro.com/[BLOG_TITLE]/ === Documentation & release notes === * QA Links: <code><nowiki>http://preview.blogs.mediabistro.com/[BLOG_TITLE]/</nowiki></code> * Application Changes: <code><nowiki>http://git.iworld.com/blogs/commits?ref=tm[TASK_ID]</nowiki></code> == Syncing a sandbox repo with the work of others == Scenario: * I start working in my sandbox/repo using my own branch. * Someone else works on the same set of files in their sandbox/repo. * Now I need to make additional edits. * The goal is to make sure that my edits don't overwrite the other work done in any other sandboxes. * This assumes that once they were done with their work they pushed it out to `master`. <syntaxhighlight lang="bash"> $ git co <mybranch> $ git fetch $ git rebase remotes/origin/master </syntaxhighlight> More information on `git rebase`: [http://git-scm.com/book/en/Git-Branching-Rebasing|Git Documentation: 3.6 Git Branching - Rebasing] ==See Also== [[Mediabistro Blogs Configuration]] [[Category:Git]] [[Category:Mediabistro]]
Summary:
Please note that all contributions to Littledamien Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Littledamien Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information