Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| linux:git [2019/10/05 19:31] – [Atom, Git and Rust] mh | linux:git [2026/10/23 11:08] (current) – [claude] Update git page: drop Atom, GitHub token auth, main branch, git switch, # comments, heading levels claude | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Git Basics ====== | ====== Git Basics ====== | ||
| - | |||
| - | Git is a complicated tool to use, if you don't use it on a very regular basis. | ||
| - | |||
| - | I prefer using Graphic interfaces that help a lot with git management like in Atom, but here is a recap of basic commands so I remember them when I need. | ||
| [[https:// | [[https:// | ||
| - | ==== Stage / Commit / Push ==== | + | ===== Stage / Commit / Push ===== |
| < | < | ||
| Line 15: | Line 11: | ||
| </ | </ | ||
| - | ==== Branches ==== | + | ===== Branches |
| Switch branch (option create) | Switch branch (option create) | ||
| < | < | ||
| - | git checkout | + | git switch |
| - | git checkout | + | git switch |
| </ | </ | ||
| - | ==== Atom, Git and Rust ==== | + | ('' |
| + | |||
| + | ===== Git and Rust ===== | ||
| When you create a new Rust project using Cargo it automatically initializes a local git repository. | When you create a new Rust project using Cargo it automatically initializes a local git repository. | ||
| Line 30: | Line 28: | ||
| < | < | ||
| + | cd existing_folder | ||
| + | git init # Skip if in a Rust project created with cargo, git is already initialized | ||
| git remote add origin < | git remote add origin < | ||
| - | git push --all origin | + | git add . # required |
| + | git commit | ||
| + | git push -u origin | ||
| </ | </ | ||
| - | You will be prompted for username and password of owner of the Git distant | + | Git will ask you to authenticate as the owner of the remote |
| - | Edit (Fall 2019) : This actually doesn' | + | Most modern editors |
| If you want to set all of your branches to automatically use this remote repo when you use git pull, add --set-upstream to the push: | If you want to set all of your branches to automatically use this remote repo when you use git pull, add --set-upstream to the push: | ||
| < | < | ||
| - | git push --all --set-upstream origin | + | git push --all --set-upstream origin |
| </ | </ | ||
| - | This is the advised way to push to a new repo by Git Lab and works perfectly well with a Rust project. | + | ===== Branching ===== |
| + | |||
| + | To get a branch that exists on the remote repository, fetch the remote data then switch | ||
| < | < | ||
| - | cd existing_folder | + | git fetch origin |
| - | git init //Skip if in a Rust project created with cargo, git is already initialized | + | git switch <name-of-branch> |
| - | git remote add origin | + | |
| - | git add . //Not sure it's required, since the folder is already populated. | + | |
| - | git commit | + | |
| - | git push -u origin master //This is what actually pushes. | + | |
| </ | </ | ||
| - | Atom has a built-in git feature that will automatically detect git repositories and has a useful GUI. To use it, your project root folder **must be directly** in the project tree manager. It cannot be in a sub-directory or Atom will **not** autodetect the git repository. | ||
| - | ===== Ressources | + | '' |
| + | |||
| + | ===== Resources | ||
| [[https:// | [[https:// | ||