Git is a distributed version control. TFS is a centralized version control.
Lets say if TFS data is corrupted or backup are gone. Entire History is gone. Even if the developers has local copy. From Local copy’s there is no way of retrieving the History. Where as with Git if the server version is gone. If any developer has the copy we can copy that server. It’s a full clone of data in local.
- As it is a full clone we can check the history with out internet.
- We can commit changes locally. In TFS we can’t commit changes locally we need internet connection to commit changes.
Check-in/Checkout — Push/Pull
Ref : https://stackoverflow.com/questions/2745076/what-are-the-differences-between-git-commit-and-git-push
https://git-scm.com/about/distributed
SHA- Hash for a text/file, TREE, Change set,
Branch : Points to a change set. Which will have trees and references to blobs
HEAD : Is a pointer to branch.
Checkout: Move Head to different branch and update working area.
Merge & Rebase. Merge Preserve history, Rebase wipes out history.
Grabage collection
Git Clone : To copy all the content from remote server to local server.
Fetch –> Merge –> Push
Fork is a clone on cloud. Our own version of original in remote machine. From that we can clone to local machine.
Course Completion Certificate