up_to_date 3. Add up_to_date to git, commit (message: “How to be up to date in git”), and push to the origin git add up_to_date git commit -m "How to be up to date in git" git push origin main"> up_to_date 3. Add up_to_date to git, commit (message: “How to be up to date in git”), and push to the origin git add up_to_date git commit -m "How to be up to date in git" git push origin main">
0x01. Git: Resources
0x01. Git: Resources
Git
GitCode versioningGithub
By: Guillaume
Weight: 0
Project will start Mar 30, 2023 8:00 PM, must end by Apr 5, 2023 8:00 PM
Checker was released at Mar 30, 2023 8:00 PM
An auto review will be launched at the deadline
Resources
Read or watch:
Resources for advanced tasks (Read only after finishing the mandatory tasks):
Learning branching
Effective pull requests and other good practices for teams using GitHub
Learning Objectives
At the end of this project, you are expected to be able to explain to anyone, without the help of
Google:
General
What is source code management
What is Git
What is GitHub
What is the difference between Git and GitHub
How to create a repository
What is a README
How to write good READMEs
How to commit
How to write helpful commit messages
How to push code
How to pull updates
How to create a branch
How to merge branches
How to work as collaborators on a project
Which files should and which files should not appear in your repo
Copyright - Plagiarism
You are tasked to come up with solutions for the tasks below yourself to meet with the
above learning objectives.
You will not be able to meet the objectives of this or any following project by copying and
pasting someone else’s work.
You are not allowed to publish any content of this project.
Any form of plagiarism is strictly forbidden and will result in removal from the program.
Requirements
General
A README.md file at the root of the alx-pre_course repo, containing a description of the
repository
A README.md file, at the root of the folder of this project (i.e. 0x01-git), describing what this
project is about
Do not use GitHub’s web UI, but the command line to perform the exercise (except for
operations that can not possibly be done any other way than through the web UI). You
won’t be able to perform many of the task requirements on the web UI, and you should start
getting used to the command line for simple tasks because many complex tasks can only be
done via the command line.
Your answer files should only contain the command, and nothing else
More Info
Basic usage
At the end of this project you should be able to reproduce and understand these command lines:
Tasks
0. Create and setup your Git and GitHub account
mandatory
Step 0 - Create an account on GitHub [if you do not have one already]
You will need a GitHub account for all your projects at ALX. If you do not already have a
github.com account, you can create an account for free here
Step 1 - Create a Personal Access Token on Github
To have access to your repositories and authenticate yourself, you need to create a Personal
Access Token on Github.
You can follow this tutorial to create a token.
Once it’s created, you should have a token that looks like this:
Name: alx-pre_course
Description: I'm now a ALX Student, this is my first repository as a full-stack
engineer
Public repo
No README, .gitignore, or license
root@896cf839cf9a:/# cd alx-pre_course/
root@896cf839cf9a:/alx-pre_course#
Create the file README.md with the content My first readme. Tips
Add this new file to git, commit the change with this message “My first commit” and push
to the remote server / origin
Good job!
You pushed your first file in your first repository of the first task of your first ALX School
project.
You can now check your repository on GitHub to see if everything is good.
Repo:
And important part: Make sure your commit and push your code to Github - otherwise the
Checker will always fail.
Repo:
Repo:
The purpose of a branch is to isolate your work from the main code base of your project and/or
from your co-workers’ work.
For this project, create a branch update_script and in this branch:
Perfect! You did an amazing update in your project and it’s isolated correctly from
the main branch.
Ho wait, your manager needs a quick fix in your project and it needs to be deployed now:
Get all changes of the main branch locally (i.e. your README.md file will be updated)
Create a new file up_to_date at the root of your directory and in it, write the git command
line used
Add up_to_date to git, commit (message: “How to be up to date in git”), and push to the
origin
Repo:
Solutions
1. Go to github.com, enter your alx-pre_course Repository
Double tap on 0x01-git
Click on the README.md file below and click on the edit button. Change the content and commit it
1. Get all changes of the main branch locally (i.e. your README.md file will be updated)
Go to git bash, use the command
git pull (enter)
Create a new file up_to_date at the root of your directory and in it, write the git command line used
echo “git pull”> up_to_date (enter)
Add up_to_date to git, commit (message: “How to be up to date in git”), and push to the origin
git status (enter) to check the status of your work
git add . (enter)
git status (enter) to check the status of your work if the previous works has been added.
git commit -m “How to be up to date in git” (enter)
git push
:set paste
Then paste your code. Note that the text in the tooltip now says -- INSERT (paste) --.
After you pasted your code, turn off the paste-mode, so that auto-indenting when you type works
correctly again.
:set nopaste
However, I always found that cumbersome. That's why I map <F3> such that it can switch between paste
and nopaste modes while editing the text! I add this to .vimrc
set pastetoggle=<F3>
Create Git Branch without switching
In order to create a new Git branch, without switching to this new branch, you have to use the
“git branch” command and specify the name of the Git branch to be created.
You can later on switch to your new Git branch by using the “git checkout” function.
Going back to our previous example, let’s say that you want to create a branch named “feature”.
You can inspect existing branches by running the “git branch” command with the “-a” option for all
branches.
$ git branch -a