Skip to content

Instantly share code, notes, and snippets.

@atmos
Created July 19, 2013 01:54
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save atmos/6034504 to your computer and use it in GitHub Desktop.
Save atmos/6034504 to your computer and use it in GitHub Desktop.
how to iterate quickly on gems without cutting releases.
$ rails new foo
create
create README.rdoc
...
~$ cd foo
~/foo$ git init
Initialized empty Git repository in /Users/atmos/foo/.git/
~/foo$ git add .
~/foo$ git commit -m "initial import"
[master (root-commit) c3392c9] initial import
53 files changed, 822 insertions(+)
~/foo(master*)$ git clone https://github.com/fphilipe/warden-github-rails vendor/warden-github-rails
Cloning into 'vendor/warden-github-rails'...
remote: Counting objects: 599, done.
remote: Compressing objects: 100% (293/293), done.
remote: Total 599 (delta 216), reused 597 (delta 215)
Receiving objects: 100% (599/599), 70.40 KiB, done.
Resolving deltas: 100% (216/216), done.
~/foo(master*)$ git add vendor/warden-github-rails/
~/foo(master*)$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: vendor/warden-github-rails/.gitignore
# new file: vendor/warden-github-rails/.rspec
# new file: vendor/warden-github-rails/.travis.yml
...
~/foo(master*)$ echo "gem 'warden-github-rails', :path => 'vendor/warden-github-rails'" >> Gemfile
~/foo(master*)$ bundle install
...
Using warden-github (0.14.0)
Using warden-github-rails (1.0.0) from source at vendor/warden-github-rails
Your bundle is complete!
~/foo(master*)$ git add Gemfile*
~/foo(master*)$ git commit -m "bring in warden-github-rails"
[master 44b4c1f] bring in warden-github-rails
72 files changed, 1797 insertions(+)
~/foo(master*)$ git remote add origin https://github.com/atmos/foo
~/foo(master*)$ git remote -v
origin https://github.com/atmos/foo (fetch)
origin https://github.com/atmos/foo (push)
~/foo(master*)$ cd vendor/warden-github-rails/
~/foo/vendor/warden-github-rails(master*)$ git remote -v
origin https://github.com/fphilipe/warden-github-rails (fetch)
origin https://github.com/fphilipe/warden-github-rails (push)
~/foo/vendor/warden-github-rails(master*)$ echo "lol" >> README.md
~/foo/vendor/warden-github-rails(master*)$ git add README.md
~/foo/vendor/warden-github-rails(master*)$ git commit -m "cccchanges"
[master 6ab3706] cccchanges
1 file changed, 1 insertion(+)
~/foo/vendor/warden-github-rails(master*)$ cd ../..
~/foo(master*)$ git add -p
diff --git a/vendor/warden-github-rails/README.md b/vendor/warden-github-rails/README.md
index 7d32717..7564cff 100644
--- a/vendor/warden-github-rails/README.md
+++ b/vendor/warden-github-rails/README.md
@@ -206,3 +206,4 @@ This functionality is used in this gem in order to setup the github strategy for
### License
MIT License. Copyright 2013 Philipe Fatio
+lol
Stage this hunk [y,n,q,a,d,/,e,?]? y
~/foo(master*)$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: vendor/warden-github-rails/README.md
#
~/foo(master*)$ git commit -m "sync up with warden-github-rails@6ab3706"
[master b5071ad] sync up with warden-github-rails@6ab3706
1 file changed, 1 insertion(+)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment