Version Control of SoloLearn on Github


1. Previous requirements

2. Create repository on Github

  • Click on New
  • Write the name of the repository my_codes_in_sololearn and click on Create repository
  • Select the connection method to GitHub https o ssh

NOTE 1: In the case of a project of its own, I advise using ssh with the use of public and private keys.

NOTE 2: In the case of using https, when obtaining changes from the repository no password is required. It is only required when changes are sent to the repository.

3. Configure public and private key

  • Create keys using command line ( Linux o MAC)
   ssh-keygen -t dsa
  • Create keys using PuTTYgen ( Windows)


  • Assign public key to Github

    • Click on Settings

    • Click on SSH and GPG keys

    • Click on New SSH key

    • Copy the public key generated to clipboard

    • Paste the public key from the clipboard and assign it a title, click on Add SSH key

    • Confirm the assignment with the password from account

4. Upload files to the repository

  • For the first time - v0.0.1

    git init
    git add .
    git commit -m "Mi primera vez!"
    git remote add origin
    git push -u origin master

  • For the second time - v0.0.2

    git status
    echo shift_cipher.c.bin > .gitignore
    git add .
    git commit -m "Update to v0.0.2"
    git push

  • For the third time - v0.0.3

    rm shift_cipher.c.bin
    git status
    git add .
    git commit -m "Update to v0.0.3"
    git push

5. Results of changes

Github (version control) versus SoloLearn (learning/execution environment)

Version Github SoloLearn Language Description
0.0.1 heart.rb heart.rb_v0.0.1 Ruby DisplayAHeart-FirstTry!
  shift_cipher.c shift_cipher_v0.0.1.c C UseShiftCipherIn28lines
  shift_cipher.c_compile.bash - Bash Bash4CompileCProgram
  shift_cipher.php shift_cipher_v0.0.1.php PHP UseShiftCipherIn13lines Python UseShiftCipherIn10lines
  shift_cipher.rb shift_cipher_v0.0.1.rb Ruby UseShiftCipherIn20lines
  string_rotations.rb string_rotations_v0.0.1.rb Ruby UsingSubstring
0.0.2|diff heart.rb heart.rb_v0.0.2 Ruby DisplayAHeart-UseShortenedIf!
  shift_cipher.c shift_cipher_v0.0.2.c C UseTernaryOperatorIn15lines
  shift_cipher.rb shift_cipher_v0.0.2.rb Ruby UseTernaryOperatorIn13lines
  string_rotations.rb string_rotations_v0.0.2.rb Ruby UsingRotate
0.0.3|diff heart.rb heart.rb_v0.0.3 Ruby DisplayAHeart-UseShortBlocks1
  shift_cipher.rb shift_cipher_v0.0.3.rb Ruby UseShorthandOperIn11lines
  string_rotations.rb string_rotations_v0.0.3.rb Ruby UsingRegex
0.0.4|diff heart.rb heart.rb_ v0.0.4 Ruby DisplayAHeart-UseShortBlocks2
  shift_cipher.rb shift_cipher_v0.0.4.rb Ruby UseBracketSyntaxIn7lines
  string_rotations.rb string_rotations_v0.0.4.rb Ruby UsingSubstringAndOnlyOneAssing
0.0.5|diff heart.rb heart.rb_ v0.0.5 Ruby DisplayAHeart-UseCase2Array
  string_rotations.rb string_rotations_v0.0.5.rb Ruby UsingSubstringAndOnlyOneAssingInside
0.0.6|diff heart.rb heart.rb_ v0.0.6 Ruby DisplayAHeart-UseMultipleAssign
  string_rotations.rb string_rotations_v0.0.6.rb Ruby UsingAnCustomFunction
0.0.7|diff heart.rb heart.rb_ v0.0.7 Ruby DisplayAHeart-GlobalVarsToLocal
0.0.8|diff heart.rb heart.rb_ v0.0.8 Ruby DisplayAHeart-Array2NewAssign’’
0.0.9|diff heart.rb heart.rb_v0.0.9 Ruby DisplayAHeart-ReplaceIfForTwoIf
Made with drawing by Martin Nelbren Cuellar