76 lines
2.9 KiB
Markdown
76 lines
2.9 KiB
Markdown
# The Odin Project
|
|
## How to ask good programming questions
|
|
- Be very specific and patient
|
|
- use screenshots when available
|
|
- ask questions directly instead of asking to ask ie. "are there any java experts around?"
|
|
|
|
## Git
|
|
# Set up Git
|
|
- Set username and email
|
|
```
|
|
git config --global user.name "username"
|
|
git config --global user.email "email"
|
|
```
|
|
- If using GitHub, change branch from 'master' to 'main'
|
|
```
|
|
git config --global init.defaultBranch main
|
|
```
|
|
- Enable colorful output with git
|
|
```
|
|
git config --global color.ui auto
|
|
```
|
|
- Set default branch reconciliation behavior to merging
|
|
```
|
|
git config --global pull.rebase false
|
|
```
|
|
- Verify the config
|
|
```
|
|
git config --get user.name
|
|
git config --get user.email
|
|
```
|
|
# Create an SSH Key for repos
|
|
- SSH keys are good for avoiding retyping credentials every time
|
|
- Check to see if there is an existing ssh key
|
|
```
|
|
ls ~/.ssh/id_ed25519.pub
|
|
```
|
|
- if nothing appears, then there is no key and one needs to be made
|
|
- Create ssh key
|
|
```
|
|
ssh-keygen -t ed25519 -C <youremail>
|
|
```
|
|
- press enter when asked for what location to store it unless you have a specific location
|
|
- add a passphrase and retype it
|
|
# Link SSH key to Git
|
|
- Find the ssh key input on GitHub or repository website of your choice
|
|
- Click on new ssh key and give it a name and leave the window open for the next steps
|
|
- Copy the public SSH key
|
|
```
|
|
cat ~/.ssh/id_ed25519.pub
|
|
```
|
|
- Paste the key into your settings, it should start with ```ssh-ed25519``` and end with your email
|
|
# Change git repository remote
|
|
```
|
|
git remote set-url origin https://'username':'password'@repositorylink
|
|
```
|
|
## Using Git
|
|
- Check git version by using ```git --version```
|
|
- After creating a new repository you can clone it to your current directory by using ``` git clone <repolink>```
|
|
- After the cloning, check the url with ```git remote -v```
|
|
- Use ```git status``` to check the status of the current files within your directory
|
|
- To commit to the repo you can use ```git commit -m "Add helloworld.txt"```
|
|
- Confirm with ```git status```
|
|
- You can use ```git log``` to view the most recent commits
|
|
- After creating a file you can use ```git add <filename>``` to add that specific file or ```git add .``` to add all files within the directory that are not on the repo
|
|
- We can push the changes to the cloud repository with ```git push origin main```, origin being the remote location and *main* being the branch to upload to
|
|
- Make sure to only push working code
|
|
# Git Best Practices
|
|
- Atomic commits
|
|
- A commit that includes changes related to only one feature or task of your program.
|
|
- Easily reversible if the commit causes breaking changes
|
|
- Enables you to write more specific commit messages
|
|
# Changing the Git Commit Message Editor
|
|
- Typing ```git config --global core.editor "code --wait"``` into the terminal will give you the option to use either ```git commit -m <your message here>``` or ```git commit``` without anything extra.
|
|
|
|
## Introduction to HTML And CSS
|