-
Notifications
You must be signed in to change notification settings - Fork 0
/
gitNotes.txt
96 lines (52 loc) · 4.06 KB
/
gitNotes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
ls -> list
ls -a -> show me all hidden files too
ls .git -> show me what is inside .git folder
mkdir -> make directory
cd -> change directory
cd .. -> go one directory back
git init -> intilaise an empty git repository in this folder, a .git (hidden folder) is created to store all the history etc.
touch file.txt -> to create a new file
git status -> to know what all changes have been made that have not been added to hstory, no one knows yet if those have been made
git add . -> now they are on the stage to click their picture all those who were untracked in the currrent directorygi
git commit -m "message" -> click their picture to pemanently saved
git restore --staged names.txt -> if we want to unstage a file that we staged by mistake
vi names.txt -> to enter the file and write content in it through the terminal
cat names.txt -> to show the contents of the file
git log -> history of commit
rm -rf names.txt -> to delete that file
git reset 5e2a5feecee51c59f40c144aa5583925c21b82d6 -> the commits above this commit will be removed, to get back our project to a certain state
git stash -> we want to put some file away for some time we dont want it to be saved and be seen by others, but we want it to be available when we need it back, before that you have to stage those things which you want in back stage
git stash pop -> bring back
git stash clear -> we dont want you there, so just get rid of them
--------------------------------------------------
git remote -v -> tells what all url have been linked to this git folder
git remote add origin urlOfYourOwnRepository.io -> remote i.e. working with urls, origin is the name given to that url, like we save a contact number with a name, the url is saved with name origin, by convention when we are creating some repo in our own account we keep it origin
git push origin master -> to save the changes to that url, origin is the url we want to push, mater is the branch we want to push
// after making changes again commit the things and then git push origin master
--------------------------------------------------
Branches
all the commits are formed in a form of a branch
we never commit on the main branch
all the new commits that we make are added on the head
git branch newFeature -> creates a new branch newFeature
git checkout newFeature -> we now make our head point to the newFeature branch so now all commits that are going to happen will happen to this branch, not the origin main branch
we might be making some changes, but then some other person got merged and now the main branch is somewhat changed, so our work will go on side by side and the main branch goes on to the other side
now if our code has to be merged it is good then it can be merged with the original main brach, this merging happens via a pull request
git merge newFeature -> but before this you must checkout to the main branch
we can't make changes directly to some code base on github so we fork it into our account, now we can do anything with that
when a repo is in our account its name is origin
from where we have forked the repo that is known as upstream url
git remote add upstream linkFromWhre.youForked -> to add that
but again we don't commit to main branch even in our account, so we create another brannch and commit on that
now we want to merge the changes in divy branch in my account to the actual code in original account
so push the branch to your account
git push origin divy
then on our account we get option to do the pull request which says->
please merge the divy branch on commclassroomOP repo on divyKS account to the main branch in kunalkushwaha account of commclassroomOP repo
if a branch already has a pull request associated with it, it doesnt allow to create a new pull request that is why when ever we have made a new feature of made any changew we do so by creating another branch
---------------------------------------------------
a commit can be thought of as a difference
no directories, only files
no renaming
automatic branching if we checkout to some previous commit and then start commiting again from there
git add -p