상세 컨텐츠

본문 제목

3ds Simple Cia Converter 2019

카테고리 없음

by dimatatihelis 2021. 9. 13. 22:12

본문



Convert.3ds to.cia Insert your 3DS SD card into your PC Create a folder called in inside the /gm9/ folder on your SD card if it doesn’t exist already Copy your.3ds rom file to the /gm9/in/ folder on your SD card. A simple script for generating 3DS CIA files from RPG Maker 2000/2003 games using EasyRPG homebrew game-development nintendo-3ds rpg-maker-2003 easyrpg rpg-maker-2000 Updated Dec 1, 2019. Converts CIA (CXI Installed Application) a.k.a. EShop games or DLC to 3DS (Self-Explanitory) Cartridge Format - davFaithid/CIA-to-3DS-Rom-Converter. 3) Put.xorpad files you generated on 3DS from SD root into 'xorpads' folder, press 'Convert 3DS ROM to CIA' button, select folder with.3ds files and wait for program to finish. With version 5.0 of the program XORpads are no longer required if proper 'boot9.bin' file detected in the same folder.

  1. 3ds Converter Cia
  2. 3ds To Cia Converter 4.1
  3. 3ds Simple Cia Converter V5.0
  • 2List

Installing[edit]

Applications are installed by copying the necessary files directly to the 3ds/ folder in the root of the SD card (preferred for new designs), or in a subdirectory of 3ds/, in which case said subfolder must be named identically to its executable. Most applications come with two files:

  • [appname].3dsx: The executable.
  • [appname].smdh: The icon/metadata. (Not required in any case, and may be integrated into the .3dsx)
  • [appname].xml: The list of supported targets (i.e. installed titles which the app supports replacing in memory at runtime, thus inheriting its permissions), and of any arguments to be passed to the .3dsx. (Optional)

A standalone .xml file can point to a differently-named .3dsx, launching it with potentially different arguments so that a single application can run in different modes.

The Homebrew Launcher will scan the SD card for all .3dsx files, but will only display an icon for those who have one according to the format described above. Recent enough versions can freely navigate the filesystem to select an application.

List[edit]

One of the best things about the DS was the fact it was region-free. One of the worst things about the 3DS is the fact it isn’t. Or, at least, it wasn’t.

Launchers[edit]

3ds
NameDescriptionAuthorDownloadOpen-Source
Homebrew LauncherRun homebrew on your 3DS! Compatible with Rosalina and all prior 3dsx loading solutionsdevkitProHereYes
Homebrew Starter PackEverything to get you started.smeaHereYes
Homebrew Launcher (v1.x)The old version of the 3DS Homebrew Launcher, originally created for ninjhax 1.x (Discontinued)smeaHereYes
[ Mashers' HBL]Homebrew Launcher with grid and folder support. (Discontinued)MashersHereLost in masher's retirement

3ds Converter Cia

Applications[edit]

NameDescriptionAuthorDownloadOpen-SourceLast Updated
3dsfetchSmall 3DS version of a popular Linux ricing script called screenfetch.VideahGamsHereYes2015-09-17
3DS-PluginsFolderSimple program that creates folders with TitleID and copy plugins on themKlairmHereYes2020-09-06
TSI9A simple program for detecting touch screen input.JohnodonHereYes2020-1-18
3DSidentIdentity tool for the Nintendo 3DS heavily inspired by PSPident.Joel16HereYes2018-8-2
Clear MAC FilterReset 8-hour per-console StreetPass rate limitingtastymeatballHereYes2018-8-24
CtrRGBPATTYGenerate patches that edit LED notificationsCPunchHereYes2017-11-3
ctrrpcA small and easily extensible RPC server/client written in C/Python. Allows you to quickly poke service-commands and syscalls over Wi-Fi from a Python shell on your PC. Useful during reverse-engineering. No longer under (active) development?plutooBuild from repoYes2014-11-10
ctr-streaming-serverA 3DS homebrew audio/video playback server. It can also send HID state to the client (see the README) when enabled. The included parse_hidstream tool can be used to parse that HID data to simulate keyboard/mouse input events, via Linux uinput. No longer under (active) development?yellows8Build from repoYes2014-11-20
DownloadMiiA WIP repo-based online marketplace for homebrew applications & games.filfatBuild from repoYes2015-11-24
fb43dsA simple 3DS Facebook chat clientlinomaBuild from repoYes2015-04-07
for-anyone-who-walks-a-lotTool to get past the 10 coin per day limit on earning Play Coins by walking.iamevnHereYes2016-03-26
Homebrew BrowserDownload homebrew from the internet!cromo, zeta0134HereYes2015-10-07
NFCReaderAllows you to use your 3DS as a NFC/RFID UID Scanner.Jasper PetersHereYes2017-01-21
ScreenInfoIdentify whether New 3DS LCD panels are TN or IPS.SciresMHereYes2016-09-04

Game Engines[edit]

NameDescriptionAuthorDownloadOpen-SourceLast Updated
Löve PotionLOVE2D for 3DS Homebrew.TurtlePHereYes2018-08-27
ctrµLuaA Lua interpreter for 3DS, brought to life by the remnants of the µLua community.Firew0lf, Reuh, NegiHereYes2016-06-27
EasyRPG PlayerRPG Maker 2000/2003 interpreterRinnegatamante & EasyRPG TeamHereYes2019-03-03
LuaPlayer+ 3DSFirst Lua interpreter 3DS homebrew, under Lua 5.3.1RinnegatamanteHereYes2016-09-21
MegaZeux 3DSA port of the MegaZeux GCS to the 3DS.MegaZeux developersHereYes2018-03-04

Games[edit]

NameDescriptionAuthorDownloadOpen-SourceLast Updated
2048-3DA port of the popular game 2048 for the 3DS.Jasper PetersHereYes2016-02-12
3DSCraftA Minecraft port for the 3DS. No longer under (active) development?smeaBuild from repo (alt. here)Yes2014-11-20
3DS Nyan CatA port of Nyan Cat for the 3DS, using LIBSF2D.markwinapBuild from repo (alt. here)Yes2015-05-26
Antibounce'Move your player to bounce around and collect coins. Go between screens through the holes in the sides of the floor. 3D can also be enabled.'TurtlePHereYes2015-12-23
Breakout'A 3ds Breakout Clone.'Magicrafter13HereYes2017-10-17
checkers3dsA checkers game in glorious ASCII. No longer under development.UnsureSherlockBuild from repoYes2016-02-25
Cookie CollectorA tiny adaptation of the popular Cookie Clicker game for the 3DS.KaisogenHereYes2017-06-04
Cookie Clicker 3DSA simple Cookie Clicker type of game inspired by Kaisogen's Cookie CollectorTheMachinumpsHereYes2016-08-27
EDuke3DAn unofficial port of EDuke32 for the 3DS.MasterFeizzHereYes2016-05-09
HeliiA port of Helii for the 3DS.BHSPitMonkeyHereYes2015-09-18
Insectoid DefenseA Sci-Fi Tower Defense game.sgowenHereYes2015-11-09
NumberFucker3DSSimple math game, originally used as a debug game for LövePotion.VideahGamsHereYes2015-09-19
Zelda ROTH for 3DSA port of Legend of Zelda: Return of the Hylian, a Zelda fangame, to 3DS.nop90HereYes2016-09-11
Mastermind 3DSA port of Mastermind for the 3DS.Jasper PetersHereYes2015-08-15
One Whale TripFive-lane underwater whale swimming/pearl pickup adventure game in Python.thpHereYes2016-10-02
OpenSupaplexAn open source 1:1 reimplementation of Supaplex for the 3DS.sergiou87HereYes2020-06-29
Paddle Puffle 3DSA port of Paddle Puffle for the 3DS.Peanut42HereYes2015-07-05
Pituka ClassicsPlay CPC classics using Pituka Emulator-Core on 3DS.D_SkywalkYes (core)2016-02-26
Portal3DSAn adaptation of Portal for the 3DS.smeaBuild from repo (Precompiled here)Yes2015-08-18
ctrQuakeAn unofficial port of Quake for the 3DS, fully playable.MasterFeizzHereYes2016-09-16
ReversiReversi for the 3DS.Jasper PetersHereYes2016-03-05
SokobanAn unofficial port of the puzzle game Sokoban for the 3DS.LandmHereYes2016-03-14
Space FruitHackathon game by 4 friends ported to 3DS. Asteroids but with fruit.TurtlePHereYes2016-04-09
SRB2 3DSAn unofficial port of Sonic Robo Blast 2 Version 2.1.20 to New 3DS. It was made by derrek, a known vulnerability researcher and homebrew developer. SRB2 2.2.X Versions (2.2.8 is latest at the time this is being made) aren't ported yet and probably won't be.[derrekr]Here (Don't use 2.2 files!)Yes2018-12-23
Tappy PlaneA port of Flappy Bird for 3DS, but with a colorful plane.sgowenHereYes2015-11-09
Tetrepetete 3DSA game with blocks.thpHereNo2016-06-29
That Rabbit Game 3DSInverse duck hunt with accelerometer input and stereoscopic 3D.thpHereNo2016-07-04
World of 3DSandA port of World of Sand for the 3DS.Steveice10HereYes2016-07-12
Yeti3DSA quick and dirty port of Derek Evans' Yeti3D software rendering engine.smeaBuild from repoYes2015-08-07
Loonies 8192A Mini Retro Puzzle for DOS, the PSP and 3DS (Homebrew)thpHereNo2019-01-27
DevilutionXA 3DS Port of Diablo 1.MrHuuHereYes2020-05-08

(muahahah I am SIG7 and I added the thread for SRB2 3DS!)

Emulators[edit]

NameDescriptionAuthorDownloadOpen-SourceLast Updated
3DNESA NES emulator, without sound support. No longer under development.st4rk, gdkChanHereYes2015-03-28
atari800-3DSAn Atari 8-bit home computer emulator.asieHereYes2016-10-29
blargSnesA Super Nintendo (SNES) emulator. A compatibility list can be found here.StapleButterHereYes2015-06-12
CHIP-3DSA simple and slow CHIP-8 emulator.xerpiBuild from repo (alt. here)Yes2015-04-02
CHIP8-2DSCHIP-8 emulator with savestates and touch controls.nopy4869HereYes2016-07-20
CitrAGBYet another GBA emulator for the 3DS.Shiny QuagsireBuild from repo (alt. here)Yes2015-09-21
GameYobA Game Boy (Color) emulator. A compatibility list can be found here.Drenn/Steveice10HereYes2016-07-17
mGBAA GBA emulator that runs well without kernel hax.endriftHereYes2016-10-13
r3DdragonA WIP Virtual Boy emulator for the 3DS based on Reality Boy / Red Dragon.mrdanielpsHereYes2016-08-16
RetroArchA multisystem emulator. (GB, GBA, SNES, Genesis, CPS1, CPS2, etc.)libretroHereYesUndergoing rapid development.
SNES9x for 3DSA SNES emulator for the old 3DS / 2DS. Optimised from Snes9x 1.43 and runs many games at full speed. Compatibility list herebubble2k16HereYes2017-02-11
VirtuaNES for 3DSA NES emulator for the old 3DS / 2DS. Optimised from VirtuaNES 0.9.7 and runs many games at full speed.bubble2k16HereYes2017-03-23
TemperPCE for 3DSA PC-Engine/Turbografx-16 emulator for the old 3DS / 2DS. Optimised from Temper runs all games, including CD-ROM and SGX games at full speed.bubble2k16HereYes2017-06-19

Theme managers[edit]

NameDescriptionAuthorDownloadOpen-SourceLast Updated
3DS HomeMenu extdata ToolTool for accessing the SD extdata which Home Menu uses. This essentially allows writing custom themes to extdata which get loaded at Home Menu startup.yellows8HereYes2015-08-17
Custom Home Menu Manager 2Theme manager for Nintendo 3DS. Discontinued.RinnegatamanteHereYes2016-07-04
ThemelyTheme manager for Nintendo 3DS with 3dsthem.es integration.ErmanSayinHereNot anymore, 1.3.1 last FOSS version2017-6-28
Usagi 3DS Theme EditorA simple 3DS theme editor for PC. You will need to have the .NET Library installed on your PC first before you can use it.usagireiHereNot sure2017.05.28
Anemone3DSNew theme and Luma splash screen manager, created to fill the gap left by its predecessors.User:astronautlevel2HereYes2018-5-13

Title managers[edit]

3ds To Cia Converter 4.1

NameDescriptionAuthorDownloadOpen-SourceLast Updated
FBIOpen source CIA (un)installer and launcher.Steveice10HereYes2015-12-02
FBI 2Multipurpose file/title/ticket/save managerSteveice10HereYes2018-8-21

Note: downloading non-system applications from CDN is broken in any known homebrew, regardless of whether a signed ticket is installed or not (See also: 11.8.0-41#Server-side_changes)

Save managers[edit]

NameDescriptionAuthorDownloadOpen-SourceLast Updated
save_managerProof of concept save exporter/importerprofi200[Here]Yes2015-09-13
svdtSave Data Explorer/ManagermeladroitHereYes2015-10-16
[JK's Save Manager]Save/Extdata ManagerJK_Here]Yes2016-09-29
JK's Save Manager for RosalinaModded version of JKSM for use as .3dsx on Luma 8+Phalk, JK_HereYes2017-7-12
PKSMSave editor for Pokémon generations 3 to 7Bernardo GiordanoHereYes2020-6-13
CheckpointFast and simple homebrew save manager for 3DS and Switch written in C++Bernardo GiordanoHereYes2019-12-9
SpecializeMiiEditor for Mii database (specialness)phijorHereYes2017-1-22
SpecializeMiiEditor for Mii database (specialness and ownership)phijor, RyccardoHereYes2017-8-13

File servers[edit]

NameDescriptionAuthorDownloadOpen-SourceLast Updated
ftpd (ftBrony)A FTP server.mtheallHereYes2020-05-30
FTP-3DSFork of ftBrony with a Nintendo theme. No longer under development and without repo.iamevnN/AYes (No source officially available.)N/A
FTP - Graphic ModifierX EditionFork of ftpd with aesthetic modifications.FloatingStarHereYes2016-01-27
ftponyA basic FTP server, useful for testing new homebrew versions without swapping the SD card. No longer under (active) development?smeaBuild from repoYes2014-11-24

Icon Packs[edit]

Icon Packs are SMDH Packs for homebrew apps.

NameDescriptionAuthorDownloadLast Updated
SimplokThe first 3DS Icon pack.link6155Here2015-09-12
1LPAnother 3DS Icon pack. Repo is dead, no alternate downloads available.100pcrackN/A2015-12-22
Modern UIA simple icon pack with a flat and minimalist design.LouchDaishiteruHere2016-02-15

Demos[edit]

NameDescriptionAuthorDownloadOpen-SourceLast Updated
Skate StationA demo for the 3DS featuring music and 3D effectsSVatGHereYesJuly 2019
cubedemoA short demo of Homebrew on the 3DS, with working sound.plutooHereNoN/A
demo ou mourirSmall demo for the 3DS with music and 2D effectsDesireHereNoNovember 2015
The Night of Interruptions!An independently made short film which can be watched on the Nintendo 3DS.Chukoloco08HereNoDecember 2020
Retrieved from 'https://www.3dbrew.org/w/index.php?title=Homebrew_Applications&oldid=21416'
3DS Homebrew
Introduction • Homebrew Development • Glossary • Flashcart FAQ
ListsAll Homebrew • Applications • Games • Emulators • Demos • CFWs • Exploits • Development libraries & tools • PC Utilities

This page contains general information for 3DS Homebrew developers.

If you have any questions, you can come to GBAtemp's main homebrew development and help thread. It contains shared sources, examples and libraries.

You can find all known resources (hardware registers, syscalls, utilities) to develop your homebrew on 3dbrew.

To develop 3DS homebrew you need a development environment consisting of tools, scripts and libraries which will be detailed below. The sources are compiled to binary using GNU GCC-ARM or devkitPro with devkitARM. The available tools and SDK work on Windows 32/64bit and Linux.

The languages used to write homebrew are C, C++ and occasionally ASM. There are various online tutorials and books available to learn these languages.
Alternatively, you can also write homebrew in Lua by using Lua Player Plus.

  • 1Install devkitARM
  • 2Compiling sources
    • 2.1Troubleshooting
  • 4Editor setup
  • 63ds/cia homebrew
  • 8Using git

Install devkitARM

Windows

Use the automated-installer. Install in C:devkitPro and it will install all the latest versions of the required programs (you can disable devkitPSP, but be sure to enable libctru in devkitARM menu). It will create the environment variables automatically.

Linux / Mac OSX

1) Open a terminal and execute these commands:

Install libraries

You may want to install various libraries/tools if your project requires them.

Compiling sources

If you simply want to compile a homebrew project without (or after) editing it, you can use the make utility from the command prompt/terminal.

1) Windows: Open a Command Prompt (Run -> cmd); Linux/Mac OSX: Open a Terminal from your applications

2) Navigate to the project directory (change to the correct path)

3) Run make

If you ever want to remove the compiled files, you can use this command:

This is often needed when re-compiling a project.

Troubleshooting

It is possible that sometimes your project will not compile. This can have various causes, for example missing libraries. In order to find out the problem, look into the output for the lines that start with 'error:'; those will tell you what the problem is. You can ignore the warnings, they do not cause the compilation to fail.

If the output is big, you can filter it:

If you can't figure out what's wrong, feel free to make a post on the forums about it. Make sure to post all of the error output.

Windows Tip: To copy from your command prompt, right click and choose Mark. Then select the text to copy and press the Enter key.

Common errors

cannot find 3dsx_crt0.o: No such file or directory
In your makefile, find -mfloat-abi=softfp and change it to -mfloat-abi=hard. You shouldn't ever use softfp for 3DS homebrew.
(name) uses VFP register arguments but (name2) does not
Part of your project or the libraries you use were compiled with -mfloat-abi=softfp while other parts were compiled with -mfloat-abi=hard. Make sure to use -mfloat-abi=hard everywhere. You may have to manually recompile the libraries you use, if needed.
(command) is not recognized as an internal or external command...
Your PATH environment variable is not set up correctly. It should contain the msys folder in your devkitPro installation path (eg. C:devkitPromsys). Edit your PATH environment variable and make sure it includes this directory. If the command is python, make sure the python install directory (eg. C:PythonXX, where XX is the version you installed) is in your PATH as well.
unknown field 'rmdir_r' specified in initializer
Your devkitARM is out of date. Rerun the installer or script.
make[1]: *** No rule to make target `/c/Users/***/path/to'. Stop.
Move the project to a folder with no spaces anywhere in its path

SMDH

Every homebrew application has an smdh file, containing additional information:

  • Icon
  • Name of the application (Short description)
  • Description of the application (Long description)
  • Name of the author (Publisher)

This information is used in The Homebrew Launcher (3DSX), and in the home menu (3DS/CIA).

The icon is a simple 48x48px png file. You can place this png in your project folder (the same folder as your Makefile is in) and name it icon.png. If no icon.png is present, a default icon from the ctrulib folder will be used.

The other data can be set in the Makefile directly:

The SMDH file is automatically created when building the project (unless you explicitly set NO_SMDH in the Makefile).

You can also manually build the SMDH using bannertool by steveice10:

Editor setup

3ds Simple Cia Converter V5.0

This section explains how to set up various editors to edit and compile (existing) homebrew projects. If you want to start a new homebrew project, you should preferably copy an example project and edit the sources.

Note that this section lists only the more advanced editors which have features such as code auto-completion. You can use any text editor to edit the source files and compile as detailed above. You should however use a proper code editor (aka not notepad). Some examples are Notepad++, Sublime Text, vim, and Emacs.

Programmer's Notepad

The Programmer's Notepad is (optionally) installed by the devkitPro installer.

1) File -> New -> Project
Give it a name and save anywhere.

2) Right click the project -> Add Files
Now navigate to the example you want and add the files from that folder (eg. Makefile, readme.md, ...)

3) Right click the project -> Add Magic Folder
Navigate to the example directory again and add the source folder within. Repeat this for any other folders in the example (if any).

4) You can build the project using Tools -> Make
Make sure the project you want to build is the active project (Right click project -> active project)

Visual Studio 2015 (community)

When installing Visual Studio, make sure to install the Visual C++ packages!

1) File -> New -> Project From Existing Code...

2) In the dropdown, choose Visual C++ and click Next

3) Under Project file location, navigate to the folder with all sources. Enter a name for the project and click next.

4) Use external build system, Next

5) Build command line:

Clean command line:

Leave the rest blank. Click Finish.

6) Right click project (in the solution explorer) -> properties

7) Under VC++ directories -> General -> Include directories, add the devkitARM and ctrulib include directories (change if needed):

Make sure not to remove anything already in the box! You can add any other include folder that the project may need as well. In the end it'll read something like:

Click OK

8) (Optional) Right click project -> Add -> Existing Item
Choose the Makefile and any other files you want to add, then click Add. This step isn't required, but allows you to edit the Makefile etc. from the editor.

Alternatively, you can use 'Show All Files' under the 'Project' menu (on the top) to display all files and folders as they are on the file system.

9) You can now build the project (Right click -> Build)

Eclipse CDT

Tested with the standalone Eclipse Mars CDT on Linux. Instructions may be slightly different for other cases. Another alternate guide can also be found here.

1) File -> New -> Makefile Project with Existing Code

2) Under Existing Code Location, navigate to the folder containing the code.
You can leave both C and C++ checked, even if the project only contains one.
Under Toolchain for Indexer Settings, choose a valid Toolchain (eg. Linux GCC)

3) Right click the Project in the project explorer and choose properties.

4) Go to C/C++ Build -> Environment.
Here you need to add the DEVKITPRO and DEVKITARM variables, with their correct paths, eg.

NameValue
DEVKITPRO/opt/devkitPro
DEVKITARM/opt/devkitPro/devkitARM

Make sure to change the values to the paths on your system.

5) This step isn't needed to build, but it will make Eclipse recognize the external libraries when editing code.Go to C/C++ General -> Paths & Symbols -> Includes
Under 'GNU C' (or 'GNU C++', or both, depending on what files your project has), add the following include directories:

Again, change the paths if needed. When finished, click OK.

6) You can now build the project. Right click project -> Build project

Code::Blocks

This premade project can be used as a base https://github.com/TricksterGuy/3ds-template

1) Open the project within Code::Blocks
2) Choose File > Save project as template, and choose a name for the template
3) When creating a new project, choose File > New > From template...
4) In the dialog select the template you created in 2)
5) Choose a directory to put the project
6) To build the 3dsx file choose target 3dsx and click the build (gear) button
7) To build and run your homebrew in citra choose the citra target and hit the build button (only works if citra is installed and in your PATH).

3dsx homebrew

Homebrew in this format is the most common, and can be played with ninjhax/ironhax/tubehax. No additional steps have to be taken to create this kind of homebrew; it is the default format produced when using make.

Converter

Homebrew examples: https://github.com/devkitPro/3ds-examples

3ds/cia homebrew

If you don't need Kernel access, prefer developing homebrew in 3dsx format.

After building the project (see above), you should have an .elf file. You can convert this into a .3ds/.cia file with makerom:

  • Download makerom (and compile it with make if needed)
  • Add the folder where you placed the makerom executable to your PATH environment variable

To create a .3ds or .cia file, you need some additional files in your project:

  • An RSF file - Contains various info such as permissions etc. (TODO: Make guide on how to create these)
  • An icon.bin - The icon and information for the home menu. This is equivalent to the compiled SMDH file, so you can just use that one.
  • A banner.bin - The banner for the top screen

You should preferably put them in your project folder (or a subfolder).

Banner

Homebrew in 3DS or CIA format requires a banner, which appears on the top screen in the Home menu.

The banner consists of an image and an audio file. The image should be a 256x128px png file. This image may contain transparent parts. The audio file is a 16bit wav file.

You can create the banner.bin using bannertool by Steveice10:

3ds Simple Cia Converter 2019

Convert .elf to .3ds

Run the following commands:

For example:

Please note that the first command will alter the ELF file, so you may want to back it up first.

Convert .elf to .cia

CIA files are generic data containers that can be installed on a 3DS. In order to do this you need to have a 3DS below 9.2.

The process of building a CIA is similar to building a .3DS file:

Note that the used RSF file is not the same one as the one used for building .3DS files.

Releasing

When you are ready to release your homebrew application, create a new thread in the Homebrew Development section. In this thread, you can describe your project.

Make sure to attach (or link to an uploaded version of) the relevant files for your homebrew. This will usually be the 3DSX and SMDH files that have been compiled. You can also include the ELF file, which will allow people to repack it with makerom to a 3DS (and CIA) file. The ELF file can also be used on 3DS Emulators (currently two available: Citra and 3DMoo).

If your project is open source, you can upload the code to GitHub. Alternatively, you can simply provide the source as a separate download, or include it with the compiled files.

Using git

git is a distributed version control system. This allows you to put your code into a repository, which can then be shared with others. The main advantage is that you can keep track of your (and others') changes and even revert them if needed.

You can find instructions on the git website on how to install git on your system.

After git is installed on your system, you need to setup your username and email address. This allows git to identify who made the changes. If you have a GitHub account, use the same username and email as there!

Open a command prompt (Windows) or Terminal (Linux/OSX) and use the following commands:

Getting started

1) If you have not yet done so, create a file named README.md in your project folder. You can use this file to add a description and information of your project. This description will be shown when people view your repository on GitHub. You can use markdown to add formatting such as bold and headings.

2019

2) Open a command prompt (Windows) or Terminal (Linux/OSX).

3) Navigate to your project folder

4) Initialize it as a git repository

5) Add your existing code to the repository (note: the . is part of the command)

6) Do the initial commit

Committing

When you make changes to your code, they need to be committed in order to 'save' them to your git repository. When and how often you commit is up to you, but try to do at most one major change per commit.

1) Make the repository aware of your changes

2) Add them to a commit

Add your project to GitHub

GitHub is a popular host for online git repositories.

1) Create a GitHub repository.
Make sure to name the repository after your project and optionally give it a description. Make sure the checkbox to create a README is not checked. The .gitignore and license should also be set to None

2) Open a command prompt (Windows) or Terminal (Linux/OSX) and navigate to your project folder.

3) Add GitHub as a remote host (change the URL):

4) From now on, you can push your changes to GitHub with the following command:

This pushes the master branch to the remote called origin, which we setup as GitHub.

You don't have to push after every commit, but your changes will only show up on GitHub after you push.

Tags

Tags are a way on git to mark specific commits as special. For example, you could use them to track your major releases.

1) Create the tag

For example:

2019

To tag an older commit, specify the sha1 hash of the commit:

2) If you are using GitHub, you must manually push the tag: