git directory
, working directory
and staging area
git pull
and git fetch
?gitignore
is used forgitignore
files is to ensure that certain files not tracked by Git remain untracked. To stop tracking a file that is currently tracked, use git rm --cached.
git status
does?
```
git checkout main
git pull
git checkout devel
git merge main
```
git branch
git branch
how does Git know the SHA-1 of the last commit?unstaged
means in regards to Git?git checkout some_branch
, Git updates .git/HEAD to /refs/heads/some_branch
First, you open the files which are in conflict and identify what are the conflicts.
Next, based on what is accepted in your company or team, you either discuss with your
colleagues on the conflicts or resolve them by yourself
After resolving the conflicts, you add the files with `git add
git reset
and git revert
?`git revert` creates a new commit which undoes the changes from last commit. `git reset` depends on the usage, can modify the index or change the commit which the branch head is currently pointing at.
git rebase
?.git
directory? What can you find there?.git
folder contains all the information that is necessary for your project in version control and all the information about commits, remote repository address, etc. All of them are present in this folder. It also contains a log that stores your commit history so that you can roll back to history.
This info copied from [https://stackoverflow.com/questions/29217859/what-is-the-git-folder](https://stackoverflow.com/questions/29217859/what-is-the-git-folder)
git rm
git diff-index HEAD
or git diff HEAD
git status
has to run diff on all the files in the HEAD commit to those in staging area/index and another one on staging area/index and working directory, how is it fairly fast?