Docker is a centralized platform for packaging, deploying, and running applications. Before Docker, many users face the problem that a particular code is running in the developer's system but not in the user's system. So, the main reason to develop docker is to help developers to develop applications easily, ship them into containers, and can be deployed anywhere
Containers | Virtual Machine |
---|---|
Integration in a container is faster and cheap. | Integration in virtual is slow and costly. |
No wastage of memory. | Wastage of memory. |
It uses the same kernel, but different distribution. | It uses multiple independent operating systems. |
git --version
git config --global user.name "sohammanjrekar"
git config --global user.email "mrsohammanjrekar@gmail.com"
mkdir myproject
cd myproject
git init
ls
git status
git status --short
git add index.html
git add --all
git commit -m "update"
git commit -a -m "Updated"
git log
git commit --help
git help --all
git branch hello
git branch
git checkout hello
git checkout -b emergency-fix
git merge emergency-fix
git branch -d emergency-fix
git remote add origin https://github.com/w3schools-test/hello-world.git
git push --set-upstream origin master
git fetch origin
git pull origin
git push origin
git remote add gh-page https://github.com/w3schools-test/w3schools-test.github.io.git
git push gh-page master
git clone https://github.com/w3schools-test/w3schools-test.github.io.git
git remote -v
git remote add origin https://github.com/kaijim/w3schools-test.github.io.git
Pattern | Explanation/Matches | Examples |
---|---|---|
Blank lines are ignored | ||
# text comment | Lines starting with # are ignored | |
name | All name files, name folders, and files and folders in any name folder | /name.log /name/file.txt /lib/name.log |
name/ | Ending with / specifies the pattern is for a folder. Matches all files and folders in any name folder | /name/file.txt /name/log/name.log no match: /name.log |
name.file | All files with the name.file | /name.file /lib/name.file |
/name.file | Starting with / specifies the pattern matches only files in the root folder | /name.file no match: /lib/name.file |
lib/name.file | Patterns specifiing files in specific folders are always realative to root (even if you do not start with / ) | /lib/name.file no match: name.file /test/lib/name.file |
**/lib/name.file | Starting with ** before / specifies that it matches any folder in the repository. Not just on root. | /lib/name.file /test/lib/name.file |
**/name | All name folders, and files and folders in any name folder | /name/log.file /lib/name/log.file /name/lib/log.file |
/lib/**/name | All name folders, and files and folders in any name folder within the lib folder. | /lib/name/log.file /lib/test/name/log.file /lib/test/ver1/name/log.file no match: /name/log.file |
*.file | All files withe .file extention | /name.file /lib/name.file |
*name/ | All folders ending with name | /lastname/log.file /firstname/log.file |
name?.file | ? matches a single non-specific character | /names.file /name1.file no match: /names1.file |
name[a-z].file | [range] matches a single character in the specified range (in this case a character in the range of a-z, and also be numberic.) | /names.file /nameb.file no match: /name1.file |
name[abc].file | [set] matches a single character in the specified set of characters (in this case either a, b, or c) | /namea.file /nameb.file no match: /names.file |
name[!abc].file | [!set] matches a single character, except the ones spesified in the set of characters (in this case a, b, or c) | /names.file /namex.file no match: /namesb.file |
*.file | All files withe .file extention | /name.file /lib/name.file |
name/ !name/secret.log |
! specifies a negation or exception. Matches all files and folders in any name folder, except name/secret.log | /name/file.txt /name/log/name.log no match: /name/secret.log |
*.file !name.file |
! specifies a negation or exception. All files withe .file extention, except name.file | /log.file /lastname.file no match: /name.file |
*.file !name/*.file junk.* |
Adding new patterns after a negation will re-ignore a previous negated file All files withe .file extention, except the ones in name folder. Unless the file name is junk |
/log.file /name/log.file no match: /name/junk.file |
touch .gitignore
ssh-keygen -t rsa -b 4096 -C "test@w3schools.com"
ssh-add /Users/user/.ssh/id_rsa
ssh -T git@github.com
git remote add ssh-origin git@github.com:w3schools-test/hello-world.git
git remote set-url origin git@github.com:w3schools-test/hello-world.git
git log --oneline
git revert HEAD --no-edit
git reset 9a9add8
git commit --amend -m "Added lines to README.md"