forked from akshu20791/simplilearn112
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gitnotes.txt
421 lines (143 loc) · 7.78 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
GIT :
** WD: working directory
** SA : staging area
** LR : local repo
1) Create a folder and get inside the folder.
Inside the folder right click and open git bash
2) git init (start the git repo in your folder)
3) git config --global user.name "akshat" (only one time process in the laptop)
4) git config --global user.email "akshat@apicletech.com" (only one time process in the laptop)
5) git config --list (press q to come out of it)
6) touch file1
7) cat > index.html
hello world
(ctrl d to exit)
8) git status (it will show the status of the file...if the file name is in red it shows the file
is in working directory)
9) git add . (it will move the files from the working directory to the
staging area ...you can also use git add <<filename>> to move a single file to staging area)
10) git status (it will show the status of the files ....if the file is in green color it shows the file
is in staging area)
11) git rm --cached file1 (it will unstage the file from the staging area and move back to the WD**)
12) git status (you will see file1 in red and index.html in green )
13) vi index.html (press enter)
press i to insert
add some extra content in the file
press esc :wq
14) git status (you will see that index.html is modified)
####NOW I WANT TO CHECK WHAT EXACTLY IS MODIFIED IN INDEX.HTML ###########
15) git diff index.html (this command will show what exactly the changes we have made in index.html file )
16) git add .
17) git status
##############Lets now move the files from the staging area to the local repo...creating a local version######
18) git commit -m"first commit" (it will save the file as a version in the local repository ...where -m denotes message)
19) git log (to check the local version we will use git log)
20) git log --oneline (to see the local version details in a single line)
#########################################
21) go to github ...if you have an account login ...otherwise signup
22) create a repo -> create a public repo
23) git remote add origin <<repo url>>
24) git remote -v (show the remote origin )
25) git push -u origin master
26) now the pop up will open in front of you --> token
27) go to github.com -> top right corner click on the profile (circle) --> setting --> developer setting https://github.com/settings/tokens
28) create personal access token - classic ....
In note put the name
expirating -> 30 days
tick the repo
scroll down and generate the token
copy the token which is shown in front of u
29) paste the token in the pop up which is appreared in front if u
####IGNORING THE FILES ##############
30) touch a.log b.log c.log d.log e.log
31) git status (you will see the files a.log b.log c.log d.log e.log in red color...we need to ignore the files with suffix .log)
32) vi .gitignore
(press i)
*.log
(press esc :wq)
33) git status (you will see that only .gitignore file is showing in red color which means it is in working directory)
34) git add . (put the gitignore file in staging area)
35) git commit -m"gitignore file created"
36) git status
37) touch any.log test.log akshat.log simpli.log
38) git status (you will see that these files are not tracked anymore)
39) git push -u origin master
#################### SETTING UP THE ALIAS(other name which is easy to write) ##############
lets say you have to git status regularly ,..now typing git status takes time...so what i will do will set the alias for
status as st ...so if i git st it will same as git status
40) git config --global alias.st status (st will be set as an alias for status)
41) git st
42) git status
43) git config --global --unset alias.st (unsetting the alias st so st will not be alias is status anymore)
44) git st (it will not give any output)
##now lets say git commit -m"message" we want to set alias for commit -m as com
45) git config --global alias.com 'commit -m'
46) touch file10
47) git add .
48) git com "new commit"
################### TAG - Ability to tag specific points in a repository's history ##########
49) git tag (list all the tags for me) (initially it would be blank)
50) git tag login (it will tag the latest commit with tag: login)
51) git log --oneline (you will see the tag login on the latets commit) (copy one of the old commit id)
52) git tag tagname <<commit id which you copied in step 51>> (it will tag the speicific commit id for u)
53) git log --oneline
54) git tag (copy one of the tags)
55) git show <<paste the copied tag which u copied in step 54>> (this will show the details like commit id of that particular tag)
56) git tag -d <<tagname>> (delete the tag)
#################### GIT CLONE -> CLONING THE GITHUB AND CREATING THE COPY IN YOUR LOCAL MACHINE ###############
57) Create a new folder -> books
58) right click and open git back
59) git clone https://github.com/akshu20791/Books (it will clone the git repo named books in my laptop)
60) now check the folder ..you will see a new folder with books and inside it all the books present in github is present
################## FORKING THE REPO -> IT WILL CREATE A NEW REPO IN YOUR GITHUB ACCOUNT FROM THE SOURCE GITHUB REPO ##########
61) https://github.com/akshu20791/Books on the top right corner you will see the option to fork the repo
#########Resolve the conflicts ###################################
62) go to your github repo ....click on any file ....edit the file and make some content changes in the file
63) come to your local system...open the same file and make some changes in the file
64) git status (you will see that particular file is modified)
65) git add .
66) git commit -m"file was updated"
67) git push -u origin master (you will see that the conflict error is coming on that particular file)
68) git pull (it will pull the code from github and update the code in your local repo)
69) open the file in your laptop and update the final content in that file after having the meeting with the another developer
and finalizing the final content.
70) git add .
71) git commit -m"conflict resolved in the file"
72) git push -u origin master
#########BRANCHING CONCEPT######
73) git branch (list all the branches)
74) git branch branch1 (create a branch with name branch1)
75) git checkout branch1 (you will get into the branch1)
76) git branch (here * denotes the current branch)
77) touch file100
78) git add .
79) git commit -m"c1"
80) touch file101
81) git add .
82) git commit -m"c2"
83) git log --oneline
84) git checkout master
85) git log --oneline
86) touch file102
87) git add .
88) git commit -m"c3"
89) touch file103
90) git add .
91) git commit -m"c4"
92) git merge branch1 (your current branch need to be master to merge with branch1)
93) git log --oneline --graph (it will show you the log via graphical format)
#############GIT BRANCH USING REBASE ####################
94) git branch branch2
95) git checkout branch2
96) touch file0982
97) git add .
98) git commit -m"c6"
99) touch file0833
100) git add .
101) git commit -m"c7"
102) git checkout master
103) touch file998393
104) git add .
105) git commit -m"c8"
106) git rebase branch2
107) git log --oneline --graph (you will get linear graph in this case)