Getting started:
1. Installing Git
sudo apt-get install git
2. Configuring Git
$ git config --global user.name "My Name"
3. Creating a new repository – git init
$ cd Desktop/git_exercise/
$ git init
4. Checking the status – git status
This command will return the current branch as well as it’s status compared to the head.
$ git status
5. Staging
The following command add the file hello.txt to git. This file will mbe included in the next commit.
$ git add hello.txt
or
$ git add -A
equivalent to
$ git add .
The two commands above add all files to git, except the files that are excluded due to git ignore rules.
6. Committing
$ git commit -m "Initial commit."
7. Modify the last commit message:
$ git commit --ammend
Start your Git repo anew
To remove the git file and create anew in the repo:
cd /path/to/your/repo
rm -rf .git
git init
Add a remote repository
In general:
$ git remote add origin https://github.com/user/repo.git
See https://docs.github.com/en/get-started/getting-started-with-git/managing-remote-repositories for more details.
Push to remote:
If it’s a commit on the master branch:
$ git push origin master
If it’s a commit on some branch named “some-branch”:
$ git push origin some-branch
Pull request
In our workflow we shall send code to CR (code review) before it goes to QA.
Create a branch
For that you create a branch, then push the code to your branch and the pull request is done in the master branch dashboard.
$ git branch some-feature
$ git checkout some-feature
You can create the branch and go in the branch in command:
$ git checkout -b some-feature
# Edit some code
$ git commit -a -m "Add first draft of some feature"
$ git push origin some-branch
“After Bitbucket has her feature branch, Mary can create the pull request through her Bitbucket account by navigating to her forked repository and” clicking on Pull requests in the side bar and then “clicking the Pull request button in the top-right corner.“
Source: https://www.atlassian.com/git/tutorials/making-a-pull-request
More reading: https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests
Set gitignore
https://www.atlassian.com/git/tutorials/saving-changes/gitignore
https://git-scm.com/docs/gitignore
touch ~/.gitignore
git config --global core.excludesFile ~/.gitignore
sudo vim ~/.gitignore
edit file with:
*.css.map
to exclude all files ending with .css.map
for a local approach simply create and edit the .gitignore file in the affected local repository.
If the file has already been staged, remove it by using:
$ git restore --staged <file>.
All those worked:
/source
*/.sass-cache
*/codeStyles
.gitignore
the directory tree was:
|
|-source
|-.sass-cache
|-.idea
|-codeStyles
If you accidentally sync and can’t push anymore:
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
create a force push:
git push -f origin branchname
Set git Locally
https://docs.github.com/en/github/getting-started-with-github/setting-your-username-in-git
cd in the folder were you want to clone the repo:
$ cd directory/you/clone
$ git init
$ git config user.name “Your-Username” #can be different from your github username
$ git config user.email “your.email@example.com”
$ ssh-keygen -t rsa -C “your.email@example.com”
Enter file in which to save the key (/home/username/.ssh/id_rsa): /home/username.ssh/id_rsa
copy the content of the id_rsa.pub in your github settings in your profile.
Set github local authentication to be able to clone and push:
http://kbroman.org/github_tutorial/pages/first_time.html
List branches
List local branches
$git branch
List remote branches
$git branch -r
List all remote and local branches
$git branch -a
See what branch you are on:
$git status
Set local branch to be exactly as remote branch
git fetch origin
git reset --hard origin/master
git clone a specific branch
git clone -b <branch> <remote_repo>
Delete a local branch:
git branch -d branch-name
or
git branch -D branch-name
in case the branch to be deleted is not fully merged.