
Explore version control basics, define git, and install git on macOS and Windows, then master the command line before using Bitbucket and Sourcetree, including branching models.
Track all versions of your project and enable collaboration with version control. Use Git to manage local repositories, commit changes, and avoid merge conflicts when working with others.
See how version control with Git safeguards progress by tagging releases like v1.0, branching for new features, and recovering lost work, while applying the same to graphics.
Explains what git is as a distributed version control system, showing how developers work offline and push, pull, and branch from a remote to enable collaboration and avoid merge conflicts.
Explore essential git terms in this glossary-style lecture, from branches and clones to pushes, pulls, merges, fetches, and checkouts, with a featured cheat sheet to reinforce daily development.
Install git on macOS by downloading from git-scm.com/downloads and running the installer with your credentials until installation completes; the next video covers one-time setup to identify you.
Install git on Windows from git-scm.com/downloads and select 'Use Git from Git Bash only'; then launch Git Bash and pin it to the toolbar for easy access.
Remove Git Bash from the task bar, create a desktop shortcut, and always open it from the desktop to ensure a consistent startup working directory with pwd on Windows.
Configure Git globally with your name and email using git config --global, then verify with git config user.name and git config user.email, ensuring the email matches your Bitbucket account.
Master the command line basics to strengthen your Git workflow. Use pwd, mkdir, cd, touch, ls, vim, and rm or rmdir to navigate, create, edit, and remove files.
Create your first git repository by making a repos directory, entering MyGitRepo, and running git init to initialize an empty repository with a hidden .git folder.
Add files to your Git repository with the touch command by creating index.html and styles.css, and learn what a css file is and how Git detects newly created files.
Explore how git status shows the state of your working directory and staging area, including untracked files and the difference from the local repository.
Learn how to track files in git using add and status, understand the master branch as production ready, and untrack with git rm --cached and dot notation.
Record changes with git commit, and attach clear, present-tense messages. Commit often, note sections like authentication, review commit logs, and use -m for concise one-line summaries.
Use git log to view the current branch's commit history, including commit identifiers, author, date, and messages. Understand how head points to the current branch, typically master.
Explore how branches isolate development, create a feature branch from master, and merge back to develop or master after testing, while handling bug fixes with new branches.
Distinguish untracked from tracked files in a local repository and use Git status to monitor changes. Stage changes with Git add, or discard them with Git checkout --filename.
View file differences with git diff after status to see changes in index.html. Use a filename to avoid clutter, and recognize green plus and red minus signs.
Learn how to ignore files in Git using a .gitignore file, focusing on example log files, using wildcards like *.log, and how to track the .gitignore file itself.
Finalize your work by committing changes with git commit -m, add index.html and auth.js (plus git ignore) with git add ., and check status before merging into master.
Merge the user authentication changes into the master branch by switching branches, then executing a git merge. Verify commits appear in master via git log and understand basic merging concepts.
Mark your version one release with an annotated git tag using git tag -a, attach a message like 'version 1.0.0 release', and point it to the current commit.
Understand remote repositories, which hold branches, commits, and tags but lack a working copy, enabling global collaboration via git push and git pull, as you prepare to explore Bitbucket.
Sign up for Bitbucket, log in, and create a private remote repository named HelloBitbucket using Git as the version control system.
Discover the Bitbucket interface, including repository overview, settings, SSH keys, pull requests, boards, pipelines, and commits; learn cloning, creating branches, and comparing branches.
Compare https and ssh cloning protocols, showing how https verifies servers with certificate authorities while ssh uses public key authentication with locally stored private keys and uploaded public keys.
Clone the HelloBitbucket repository with git clone over https, navigate to the repos directory, and confirm an empty repository with the .git subdirectory before starting to create and commit files.
Clone hello bitbucket, create hello world and hello bitbucket text files with vim, and save them. Then run git status, git add ., and commit with a message.
Push your commits to the remote repository with git push origin master, then check Bitbucket to see commits and use the branch dropdown to view source files.
Learn to pull changes by adding a new readme.md in Bitbucket, committing it, and using git pull to fetch and merge remote changes into your local repository.
Generate an ssh key pair with ssh-keygen, optionally add a passphrase, and add the public key to Bitbucket, then verify with ssh -T git@bitbucket.org.
Discover Sourcetree as a powerful, cross-platform GUI for Git that makes interacting with a distributed version control system simpler, safer, and free for Mac and Windows users.
install Sourcetree from sourcetreeapp.com, run the installer on macOS or Windows, follow login and setup steps with Bitbucket, use HTTPS on macOS, and pin Sourcetree to the dock or taskbar.
Learn to navigate the Sourcetree bookmarks window, switch between local and remote repositories, clone or create new repos, and refresh your list across Mac and Windows interfaces.
Open the HelloBitbucket repository in Sourcetree and explore the toolbar and sidebar to view history, code differences, branches, tags, and commits with intelligent search.
Use Sourcetree's intelligent search in the search tab to filter by commit message, branch, user, or date range and pinpoint specific commits, such as when the readme was created.
Explore a clear git branching model using master and develop, promoting feature branches, merges, and version tagging to maintain production-ready software.
Switch to MyGitRepo from hellobitbucket using File, New, Add Existing Local Repository, locate and open MyGitRepo in Sourcetree, and close hellobitbucket.
Create the develop branch from master and then branch off to search users in Sourcetree, switching branches as needed while inspecting commit identifiers, authors, and dates in the UI.
Create two new files, search.html and search.js, on the search users branch, add useful comments, and use SourceTree to stage, unstage, and commit these changes with a clear message.
Edit search.js to use username, stage and commit the changes in sourcetree, and review file diffs with red and green indicators as you prepare for your first merge conflict.
Learn to merge the search-users branch into develop, then merge develop into master, resolve the first merge conflict, and use Sourcetree and Atom to remove conflict markers and commit.
Learn how to add a tag to a commit in git, using right-click or tag icon, name it v1.1.0, and apply it to the latest commit on the master branch.
Learn how to push changes to Bitbucket by creating a private repository named MyGitRepo, adding a remote origin, and using Sourcetree to push all branches and tags.
Learn to manage a Git repo with Bitbucket and Sourcetree by creating a README in source tab, filtering commits by branch or tag, and pulling changes with merge or fast-forward.
Install and start using KDiff3 to resolve merge conflicts and view file differences, download from kdiff3.sourceforge.net, and install on Windows or macOS with platform-specific steps.
Configure KDiff3 as the default merge and diff tool in git, set its path globally, and disable Sourcetree from altering the global config; verify with command line checks.
Learn to manage a merge conflict across master and search users branch. Fix typos in styles.css and search.js, compare searchV1.html and searchV2.html, then stage and commit before merging to master.
Resolve merge conflicts in search.html using the KDiff3 external merge tool from the staging area, prioritizing remote changes. Toggle between base, local, and remote views, save, and return to Sourcetree.
Identify search.html.orig as a KDiff3 backup file. Disable these .orig backups in KDiff3 preferences: on Mac, deselect backup files.orig in directory tab; on Windows, deselect them in directory settings.
commit, stage, and push changes to Bitbucket, resolve spacing issues in search.html, and push the search users branch, handling a merge conflict along the way.
Celebrate completing a basic introduction to Git with Bitbucket and Sourcetree, build a solid foundation, explore Git docs for deeper learning, and stay curious as you advance in version control.
Become apart of the Git train, it's mandatory if you want to work with any stable company, or even a start up company!
Note:
Let me tell you a little bit about the course:
After we know the basics of git, we are going to practice it in the command line:
Once we feel comfortable with executing Git commands, we are going to be introduced to Sourcetree:
After all is finished there will be a challenge that I encourage you to attempt on your own. After your attempt, there is a solution video that will walk you through the challenge.
Git is mandatory if you want to be a developer, so it's not a matter of if you should learn it, it's a matter of when you should, and you should now!