Placeholder Image

字幕表 動画を再生する

  • Thank you for the grand welcome.

  • This is not my first dog, but still, it feels like I'm giving for the first time.

  • This awkward feeling is undescribable foot.

  • Let's get started.

  • So let's tame Udo service.

  • I just wanted to give it the git workflow you deal with every day.

  • I ask you to answer this because it's Yeah, it's just crazy.

  • So why a dog can get, um I'm pretty sure, like many off.

  • You want to know why?

  • Because we have a lot of resources online and we have a lot of thoughts, but I have all certain incidents which I wanted to share.

  • Um, I have seen Lord of Developers, and some of the students have mentored in the past.

  • They have set off 3 to 4, get commands written on a text file and that they just use them so that they can create a request, something which goes beyond beyond those commands.

  • That's it.

  • They tried to delete their and our clone for whatever it is and redo everything.

  • And we have to admit it.

  • We must have started off like that and not really died.

  • One of my friends said that I just ask, can you explain me?

  • What get is the first time I was trying to clone?

  • Market get is a magical tool, and there's something magic happening.

  • Yes, it's a magical tool, but it's what's happening behind the scenes.

  • It's not magic.

  • We can understand what's happening there.

  • So with that, let's get started so small in direction about myself on muscle for Internet sales force a disclaimer.

  • I'm not a friend and develop a routine at the end, and I'm a release lead for documentation in communities.

  • If you have any complaints about the docks related to humanity's come to me and I'm an ardent open source contributor.

  • Ah, if you want to know how to get started with any open source project, I'm there and that's my Twitter handle.

  • If you want to just say hello, my dealings are open.

  • Um, that's about me.

  • So some quick things to understand about so I don't want to give a definition, but some things which I feel like we need to know about it.

  • So, yes, we know it's a version control system, but first get what did us.

  • It's simply tracks your content.

  • It's a simple condom.

  • Tracker attracts all the files and folders you have in your positive, That's it.

  • And just remember that, and the second part is the dog good folder.

  • It's a magical folder because it's hidden, Um, but you can still find it.

  • So it is the heart and soul off your get deposit trick.

  • So when you initialize or get depository, either by cloning an existing one or initiating an empty depository, the first thing get does is create this dark get pulled off.

  • And this is the folder that stores all the data history, everything related to your positive.

  • And then you better say that when you clone someone else, it's a positive.

  • So what exactly is happening there?

  • Is it just copies All the contents which are inside that Get fuller, that's it.

  • And try to open the gate full of it.

  • You have your any off the depository and just explore what's happening.

  • They're going for there will be talking about some of the important files we need to know.

  • Um, and the third important point, which I want to make sure get, is a tool which wants to make your distributed development will flow life simpler like every positive in your workflow is important and it have the capability to replace that, the one at any given point of time.

  • So no depository is central over here.

  • With that, um, I want to discuss some of the important terminology.

  • Beat me.

  • Kind of come across these different terms whenever we get to see some get errors or whenever to be the easy read.

  • Some get documentation often get confused with some of these.

  • So I just want to clarify or give a clear definition.

  • Um, remote depository, local depository index working three stash.

  • So I will explain this five storms together that this diagram Ah, all it actually defines your good work flow.

  • So let's start with the 1st 1 um, remote depository.

  • Ah, People also say it's upstream depository on an origin.

  • So in most cases, your remote repositories toe which all your team members push changes or fact changes from and such a remote repositories actually exists on some court hosting sites like get up, get lamb or whatever.

  • If you have an internal server forcing yes, it exists.

  • And that is Carla's.

  • That is known as report promoter Positive.

  • Now coming to the second term local depository.

  • Um, get local depository is the one which we make all the local changes to It is in simple terms.

  • It's nothing but your dog.

  • Get fuller in your computer.

  • That's it.

  • And the third important, um, index, um, get index is used as a staging area.

  • We have We might have heard the Tom staged staged area, right?

  • So that's nothing but the index idea.

  • It actually sits between your walking three on the local repositories.

  • So the significance off this particular area is whatever file you add into your staging area, come whenever you come it the fire off.

  • Whenever you want to make a comet, it will pick the files which are there in index Syria.

  • It won't take the files which are in your working three or your local positing.

  • Now it will just touch the files which are sitting in hearing that, and it plays a very significant rule.

  • Um, for example, when you run ditch data's, you usually see files in your staging area and green text.

  • Um, that means you can only come in the file, which is in green text and also get status is very helpful command.

  • When you actually sit and read what's going on there.

  • It will give you all the details.

  • It will give you instructions on how you can stay your file, understand your file or check out.

  • It's It's a very helpful Goemon.

  • And also, when you expand the dog fuller and see look out for the index file.

  • It's it existed.

  • Whenever you are, the new file get will be making some changes to that next fall.

  • And if you want to open this particular file and see what's getting added, it's it's actually some weird court.

  • I will not be understanding.

  • But yes, um, there'll be something in that particular file now coming to the food Don't working three.

  • Okay, so this is also a very important tone.

  • It consists off what your current are your current working snapshot.

  • When I say that if you have two different branches, if you have a free to branch and you're working on that you're working, we will just contain the files which are there in that particular feature bunch.

  • It won't count in the files returning Master branch unless you switch.

  • So this context switching is sticking by.

  • Taken taken, care off the working three area now coming to the fifth, um, the most Tom's node area.

  • Or don't stash, um, the only one only duty off Stashes to keep pr working.

  • Three area little clean.

  • So there are certain situations where you try to switch ah, branch or make some changes.

  • Um, when you have certain uncommitted fighting, you're working tree, it won't let you do that.

  • And in that scenario, you can actually save those files into your stash area and then reapply them whenever you want them in your working tree.

  • And it's actually a very helpful area.

  • It comes in handy.

  • Okay, now comes another important dome head.

  • The question now is when you run, get branch some branch name.

  • How does get no, the shot off the last comic?

  • It's because of the contents in this file, um, head is a reference to the last commit in the currently checked out branch.

  • On other useful in Francis you can get from this particular head pointer is determines your current working branch.

  • So normally, when you check out to a proper branch name, get automatically moves ahead, pointer along whenever you create a new comment in that branch, so we will actually see the significance of this point of when we learn about branching.

  • Um, and if you want to know more about this particular pointer, you can simply run, get log and I'll give.

  • Okay.

  • Okay, so that's a comet hash.

  • And beside you always see some domes.

  • So what you can in four from this is that head is actually pointing to your master branch.

  • And your current branch is master.

  • And they're also other tones like Arjun Master and Arjun Head.

  • They are the pointers which are in your upstream depository, and that's where the auction repositories is there.

  • So if I actually show you a visual ization off this, the box is optional.

  • Depository.

  • If you assume that it's name is Arjun and those are the pointers in there, pointing to the comics eatery and the box below is what is there in your local depository.

  • So it always carries those remote pointers so that it will let you know whenever you're our local repositories, not up to date with the option depository, and that's so good knows that.

  • And also when you arm expand and see what's there in the head head file, it actually exists inside the dot get folder it actually tells Get what is a parent for your next comet.

  • And that's where it tracks the branching and all the magical stuff.

  • But don't worry.

  • I'll be clearly explaining with examples going for them, um, and not to me.

  • Off get oscillates.

  • So some of the important internals off get which we need to know.

  • Um, it's nothing but the contents which are inside the dock.

  • Get folder.

  • We have already seen What head file is index file.

  • Is there some other important folders and files which I want to discuss?

  • Um, dog gets slash conflict.

  • We only if you're familiar with this.

  • Okay.

  • Okay.

  • Okay.

  • Lord of them.

  • So this is the first internal file which I would like to talk about because this is where all your get configurations related to your git Go stand over here you can define what is your option Repositories is what you're Arjun.

  • Deposit is our do some branch configuration, Bush configurations.

  • Everything goes in that This is the central conflagration file, and and this is quite important.

  • It actually sits in tow inside the dog it for you.

  • And now coming to the next important.

  • Full of that is dog gets slashed wrists.

  • So what exactly is the ref?

  • Ref is an indirect way off referring toe a comet, and you can think off it as a user friendly aljaz for a comma.

  • Tash, we need not really remember.

  • The gate doesn't really have to remember the entire 40 character hush.

  • So, Agent, it simply keeps track off the files under this photo and riffs are stored in a normal text files and the dog gets slash reverse directory.

  • For example, if you open the head directory, um, the head directory inside the lifts um, you will have the list off files which are nothing but your local branches.

  • So suppose I have Master Branch in my local depository I will be seeing over there.

  • And if I actually opened what's inside the Master Fuller?

  • There'll be another file which contains the latest comet in my master ranch.

  • And that's what keeps track off branching.

  • Even this particular full of plays a role in branching now comes to the dog gets ash objects.

  • Fuller.

  • This, um, this is the meat off the entire dot get or you'll get depository.

  • I say that because it contains all the files and folders which are present in your local A positive and the files are actually stored by the sharp values over here.

  • Um, you can see those were characters, so the biggest arranges them is like unfold a structure.

  • So you re not really worry about that.

  • And so I would like to discuss more about get objects because all your data actually goes into it.

  • So first thing, it's the meat off your local depository.

  • So that means it contains the actual data off off your get a positive.

  • And the second thing is, how does get track are stored all your files and folders in the form off objects and in the form of those four different types of objects blocked three comets and tag.

  • So I will be talking about the 1st 3 off for three object types.

  • And yes, they're stored by the shore values, as you have seen before.

  • Okay, let's take an example that we have this particular depository and full of structure in your local depository.

  • So we have a root folder we have to our text files, read me and make file and a slash SRC fuller and our dot see full profile inside A s are sinful.

  • So let's see how get actually stores them in the form off objects.

  • So coming to the first basic object type gets towards your file contents as blobs.

  • So it is important to know that it just does the contents of your files, but no the filing.

  • So the names and moors off the files are not stored within the blob.

  • I'm just trying to repeat it again.

  • And Gittel only stored our blob only once.

  • So when I say that, what it means is, if you have two different file names but with the same file content block get will be storing that particular file as one single blob because the file gunman, Sussie and what does what it also means is whenever you try to transfer some of the blobs from your depository to without the depository.

  • If if it's the same blah But, um, coming from two different file names, it will just transfer that single blob, and then it will expand it into a different different fights.

  • And, ah, foot out example um, our depository, those files those files are being stored as blob with different Ah, shock ports now coming to the next type of get object.

  • Three.

  • It's all the problem of storing the filing, and it also allows you to stole the group off files together.

  • That is the directory or folder, and a tree is nothing but a simple list off trees and blobs.

  • Ah, coming together along with the names and the file wards off those blobs entries.

  • And when you actually go and expand one of the three objects, you get to see something like this if you, um it actually contains entries of the blob under the particular tree, the file moored, shackled and the filing.

  • And I just tried to wean own experiment with some of the three objects he will definitely get get get an idea about it.

  • And for the same example, if you see, um, every folder is actually stored as a tree with, um, whatever fileid have within it.

  • Okay, Now, coming to the third object I'd commit, um, so we are storing the files and follows.

  • Where exactly does the history part comes in?

  • This is where comet objects are coming handy.

  • So the comet object is very simple.

  • It's much like a tree.

  • It's simply points to a tree and keeps a track off the water.

  • The ah, the Commitments Age and sometimes stomp around it.

  • Along with that any parent committed, it's pointing to.

  • So if you if you actually open, I'll commit Optic Um, you will get to see the snap shirt off for that particular commit are supposed to.

  • It's a tree and the hash along with that.

  • And if there is any parent comic, it's pointing to the hash off that particular previous coming along with the outer commuter information and the comet message.

  • So you will.

  • You will actually see all these things when you try to open up these objects and see.

  • All right, um, done with the boring stuff.

  • Um, we have understood how file stores are your data and some of the important tones.

  • Let's discuss with discuss about some of the scenarios and concepts with retreats trouble every day.

  • First thing is branching.

  • Um, as developers, we all know how important branching is in order to maintain a clean overflow.

  • And if you are open source maintainer for any big project, you definitely know the pain off merging branches and sometimes you know it's very important to know how exactly get those dispatching.

  • It will definitely make your life a little easier.

  • So let's understand what how branching is done and get it.

  • Okay, let's say we have these three comets on your master branch where my head is pointing to the latest comet.

  • See three.

  • Let's examine the state off a branch.

  • So how can I do that?

  • As in Cleveland, get log so that I can see what is exactly happening in my work.

  • Working treat.

  • So what I do, I don't get log, and I get to see the list off three comets and some important details.

  • Besides the latest coming the top one, this is the day's gone for Budapest official website apply.

  • Have clone it and it's exposing some female ladies.

  • And so what, exactly you can infer from this.

  • It says that the head is pointing to the master branch and you can also see your upstream pointers along with the later store coma.

  • Tash, as we have already seen now what do I want to do next?

  • I want to create a new branch called React to meet up Um so that's the only branch name I got to my mind when I was preparing the slights.

  • A sensible name.

  • So I just used it.

  • So we can do so by running the command, as you can see Get branch and the branching.

  • Now, if you want to see the list of branches you have in your local depository and also some important details on what is your current branch?

  • Um, you can run the branch, and then it will clearly tell you that Hey, you're on muster bench.

  • I'm making it in green.

  • Okay, Now, um, I have created a new branch.

  • Um, What has happened?

  • Head, My head pointer is still pointing to the master, but because I haven't switched to the newly created branch it so let's so let's just see what get long talks about this workflow.

  • So when everyone get get log, it still shows that the latest comet is pointing to Master.