Difference between revisions of "EBC Exercise 16 git - Fork and Pull"

From eLinux.org
Jump to: navigation, search
(Initial Page)
 
m (The Pull Request: Switched to nano)
Line 27: Line 27:
 
== The Pull Request ==
 
== The Pull Request ==
 
* Add your name to '''helloWorld.c''' in your gitLearnFork repo
 
* Add your name to '''helloWorld.c''' in your gitLearnFork repo
  host$ '''gedit helloWorld.c'''
+
  host$ '''nano helloWorld.c'''
 
* Commit it to your local repo
 
* Commit it to your local repo
 
  host$ '''git add helloWorld.c'''
 
  host$ '''git add helloWorld.c'''

Revision as of 06:05, 31 August 2018

thumb‎ Embedded Linux Class by Mark A. Yoder


In a previous exercise you learned how to use git locally and with a shared repository. Here you will work though an example of using git collaboratively using the Fork and Pull workflow. This method works better when working with large groups.

Much of the material here has come from help.github.com/articles/fork-a-repo and help.github.com/articles/fork-a-repo.

Forking a Repo

host$ git clone https://github.com/username/gitLearnFork.git
  • Configure remotes
host$ cd gitLearnFork
host$ git remote add upstream https://github.com/MarkAYoder/gitLearnFork.git
  • Pull in changes not present in your local repository, without modifying your files
host$ git fetch upstream 

More things you can do

  • Push commits to your remote repository stored on GitHub
host$ git push origin master
  • Fetch any new changes from the original repository
host$ git fetch upstream
  • Merge any changes fetched into your working files
host$ git merge upstream/master

The Pull Request

  • Add your name to helloWorld.c in your gitLearnFork repo
host$ nano helloWorld.c
  • Commit it to your local repo
host$ git add helloWorld.c
host$ git commit -m "Put something meaningful here"
host$ git push
  • Go to your repo on github and initiate a Pull Request.
  • Wait for a response and then
host$ git fetch upstream
host$ git merge upstream/master

Congratulations, you've done a Fork and Pull.



thumb‎ Embedded Linux Class by Mark A. Yoder