edgecase / git_immersion Goto Github PK
View Code? Open in Web Editor NEWThis project forked from kend/git_immersion
Git Immersion Training (initially given at RailsConf 2010)
Home Page: https://gitimmersion.com
This project forked from kend/git_immersion
Git Immersion Training (initially given at RailsConf 2010)
Home Page: https://gitimmersion.com
The branch name in [http://gitimmersion.fr/lab_30.html#main_content](Lab 30) is the english one.
According to the previous names provided for each branch, the branch in this exercise should be named "saluer". So, the Execute Section should be like this :
Execute:
$ git checkout saluer
$ git merge master
The same translation error appears in the Output Section.
As of October 1, 2020, the default branch in repos is now called "main", not "master".
Any chance of adding HTTPS support to gitimmersion.com? :)
https://blog.github.com/2018-05-01-github-pages-custom-domains-https/
the go
alias might cause conflicts with golang installation which also sets go
as alias
On the "More Setup" Page, the existing Tutorial Package link is http://gitimmersion.com/git_tutorial.zip which does not work, but changing it to "https" works -> https://gitimmersion.com/git_tutorial.zip
Lab_02 says: repos — Prepackaged Git repositories so you can jump into the tutorial at any point. If you get stuck, just copy the desired lab into your working directory.
However, from one point on it is not clear which of the two (three) work repos is recorded in repos
. In the beginning it is the hello
repo. Later it is either cloned_hello
or hello
. It would be better to have every subdirectory in the repos
items, like
repos/
...
lab_10/
hello/
...
lab_40/
hello/
cloned_hello/
...
lab_50/
hello/
cloned_hello/
hello.git/
Anyway... what about using the name snapshots
instead of repos
for this stuff?
Lab 3 Is formatted differently online and in the downloadable folders. In the folders there is FILE: hello.rb which tipped me off that maybe i need to use > hello.rb to create the file. However, the puts "Hello World" is not putting that text into the hello.rb file, which i expected the walk through to show me how to do these things. I'm using windows 10 with git bash and ubuntu so maybe that's my problem.
The title of this repository still suggests using HTTP://
Git Immersion Training (initially given at RailsConf 2010) http://gitimmersion.com
Pretty safe to say markdown seems to have won.
Could be a barrier to contribution and also removes redcloth dependency.
The tutorial's sample output has a few consistency issues which could be addressed... but are not necessarily priorities given the existence of typos and other... lower-hanging fruit.
(NOTE: Item number 3 could be addressed by disclaiming output, either in context - which is multiple - or at the beginning of the tutorial...)
I absolutely love this tutorial, and want to get my undergraduates using it. Couple things:
git reset --hard <hash>
commands aren't working as intended in the newer version(s) of git (Lab 32 -- 34).git checkout
commands are working properly except maybe git switch
is preferred with newer versions? (Lab 24 -- 27)Lab 32 -- 34
git checkout greet
git reset --hard
git checkout master
error: Your local changes to the following files would be overwritten by checkout:
Rakefile
lib/greeter.rb
lib/hello.rb
Please commit your changes or stash them before you switch branches.
Aborting
git status
On branch greet
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git restore ..." to discard changes in working directory)
modified: Rakefile
modified: lib/greeter.rb
modified: lib/hello.rb
git diff
diff --git a/Rakefile b/Rakefile
old mode 100644
new mode 100755
diff --git a/lib/greeter.rb b/lib/greeter.rb
old mode 100644
new mode 100755
diff --git a/lib/hello.rb b/lib/hello.rb
old mode 100644
new mode 100755
The 'Get in contact with Neo' link could be made functional, e.g. made a 'mailto:' link with a default addressing (a mailing list for 'edgecase/git_immersion' repository contributors, say...); good/not good...?
In Lab 15, current git no longer suggests "git reset head". See below for current behavior:
% git status
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: hello.rb
The project currently specifies 1.9.3 in the .ruby-version
WARNING: ruby-1.9.3-p551 is past its end of life and is now unsupported.
Looking through the homepage http://gitimmersion.com/, the link named "Github Issues" sounds to me more like a list of issues that Github has itself, not issues that the immersion website has. Maybe it could be renamed to "Report Issue (on Github)" to make the function of the link clearer.
A majority of visitors are on Windows — what can we do to help them out? All the shell commands are currently for *nix.
Also, we do we need to have Ruby as a dependency?
So at some point I got stuck and copied repos/lab_40
to my working directory as cloned_hello
. When I checked what I got I found that I have a remote named origin
. However, the command
$ git remote show origin
resulted in a nonexistent absolute path error message (/Users/.../working/git/git_immersion/auto/hello)
I don't know if it is valid or not, but it seems that when editing the .git/config
file in the cloned repo:
url = ../hello
git could get rid of that absolute path and that error message.
Executing
git branch --track shared master
Branch 'shared' set up to track local branch 'master'.
It seems confusing to me. Being on the master
branch, do we really need another local branch (tracking the local master) for pulling from the shared
repo? What is this extra branch used for?
I omitted the git branch...
command and was able to pull the changes out of the shared
repo.
* branch master -> FETCH_HEAD
* [new branch] master -> sharedrepo/master
Updating 12cb2ff..91a8e6d
Fast-forward
README | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Thank you
First thanks for the tutorial. I've encountered some issues in the later Labs. Also the current version is using switch and restore in place of other commands, which shows up early. Those I was able to work around as there is backward compatibility with earlier commands it seems. In any event here are my notes from the later labs.
Git Immersion Notes
Issues encountered with this tutorial.
Local installed git version is 2.25.4.
LAB 40
Remote Branches
Tutorial says:
• $ git branch
• * master
Local result:
• $git branch
• * greet
$git branch -a
Lab 42
Fetching Changes
Tutorial says:
$ git fetch
From /Users/jim/Downloads/git_tutorial/work/hello
e0cc19e..b39ac69 master -> origin/master
Local result:
$git fetch
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), 375 bytes | 375.00 KiB/s, done.
From /home/gump/myCloud/mygit/hello
fadb8ee..888d9a4 greet -> origin/greet
Lab 43
Merging Pulled Changes
Tutorial says:
$ git merge origin/master
Updating e0cc19e..b39ac69
Fast-forward
README | 1 +
1 file changed, 1 insertion(+)
Local result:
$git merge origin/master
Already up to date.
As there was a conflict between the Tutorial and reality, I attempted the following based on what I saw in the git -hist output from the cloned_hello repository:
I executed the following:
git merge origin/greet
with the following results:
Updating fadb8ee..888d9a4
Fast-forward
README | 1 +
1 file changed, 1 insertion(+)
and then the check of README, cat README, yielded:
This is the Hello World example from the git tutorial.
(changed in original)
Lab 45
Adding a Tracking Branch
Not going to bother telling you what the Tutorial says will just report what I am seeing on my local system and any alternatives I can guess at.
git branch --track greet origin/greet
fatal: A branch named 'greet' already exists.
git branch --track greet origin/master
fatal: A branch named 'greet' already exists.
Don't have a clue where to go from here. Have decided to leave the tutorial at this point as I am not sure if the time will be well spent in view of my current needs.
Thanks, the tutorial is great. Hope my feedback will help you pull it up to a current state.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.