O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×
Próximos SlideShares
Git Lab Introduction
Git Lab Introduction
Carregando em…3

Confira estes a seguir

1 de 34 Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Git & GitLab (20)


Mais recentes (20)

Git & GitLab

  1. 1. Git & GitLab By: Gaurav Wable Fabruary 2018
  2. 2. CONTENTS Introduction to Git & GitLab01 Hands on02 Git Commands03
  3. 3. Introduction to Git & GitLab 01
  4. 4. Git • Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people. • It is primarily used for source code management in software development, but it can be used to keep track of changes in any set of files. • As a distributed revision control system it is aimed at speed, data integrity, and support for distributed, non-linear workflows.
  5. 5. GitLab GitLab is a web-based Git repository manager with wiki and issue tracking features, using an open source license, developed by GitLab Inc.
  6. 6. GitLab Workflow
  7. 7. GitLab Workflow IDEA: Every new proposal starts with an idea, which usually come up in a chat. For this stage, GitLab integrates with Mattermost. ISSUE: The most effective way to discuss an idea is creating an issue for it. Your team and your collaborators can help you to polish and improve it in the issue tracker. PLAN: Once the discussion comes to an agreement, it's time to code. But wait! First, we need to prioritize and organize our workflow. For this, we can use the Issue Board. CODE: Now we're ready to write our code, once we have everything organized.
  8. 8. GitLab Workflow COMMIT: Once we're happy with our draft, we can commit our code to a feature- branch with version control. TEST: With GitLab CI, we can run our scripts to build and test our application. REVIEW: Once our script works and our tests and builds succeeds, we are ready to get our code reviewed and approved. STAGING: Now it's time to deploy our code to a staging environment to check if everything worked as we were expecting or if we still need adjustments. PRODUCTION: When we have everything working as it should, it's time to deploy to our production environment!
  9. 9. GitLab Development Flow
  10. 10. CI/CD with GitLab GitLab allows Continuous Integration, Continuous Delivery, and Continuous Deployment within the same web interface.
  11. 11. 1Continuous Integration 2 Continuous Delivery 3Continuous Deployment CI/CD Pipeline
  12. 12. Continuous Integration Continuous Integration is a software development practice in which you build and test software every time a developer pushes code to the application, and it happens several times a day. Continuous Integration: TEST - BUILD
  13. 13. Continuous Delivery Continuous Delivery is a software engineering approach in which continuous integration, automated testing, and automated deployment capabilities allow software to be developed and deployed rapidly, reliably and repeatedly with minimal human intervention. Still, the deployment to production is defined strategically and triggered manually. Continuous Delivery: TEST - BUILD - - DEPLOY
  14. 14. Continuous Deployment Continuous Deployment is a software development practice in which every code change goes through the entire pipeline and is put into production automatically, resulting in many production deployments every day. Continuous Deployment: TEST - BUILD - - DEPLOY
  15. 15. Hands on 02
  16. 16. git init Git Bash
  17. 17. Git Commands 03
  18. 18. Tell Git who you are Configure the author name and email address to be used with your commits: git config --global user.name "Your Name" git config --global user.email your.name@example.com
  19. 19. Create a new local repository git init
  20. 20. Check out a repository Create a working copy of a local repository: git clone /path/to/repository For a remote server, use: git clone username@host:/path/to/repository
  21. 21. Add files Add one or more files to staging (index): git add <filename> git add .
  22. 22. Remove files Remove one or more files: git rm <filename>
  23. 23. Commit Commit changes to head (but not yet to the remote repository): git commit -m "Commit message" Commit any files you've added with git add, and also commit any files you've changed since then: git commit -a
  24. 24. Push Send changes to the master branch of your remote repository: git push origin master
  25. 25. Status List the files you've changed and those you still need to add or commit: git status
  26. 26. Connect to a remote repository If you haven't connected your local repository to a remote server, add the server to be able to push to it: git remote add origin <server> List all currently configured remote repositories: git remote -v
  27. 27. Branch Create a new branch and switch to it: git checkout -b <branchname> Switch from one branch to another: git checkout <branchname> List all the branches in your repo, and also tell you what branch you're currently in: git branch
  28. 28. Branch Delete the feature branch: git branch -d <branchname> Push the branch to your remote repository, so others can use it: git push origin <branchname> Push all branches to your remote repository: git push --all origin
  29. 29. Update from the remote repository Fetch and merge changes on the remote server to your working directory: git pull To merge a different branch into your active branch: git merge <branchname> View all the merge conflicts: git diff
  30. 30. Update from the remote repository View the conflicts against the base file: git diff --base <filename> Preview changes, before merging: git diff <sourcebranch> <targetbranch> After you have manually resolved any conflicts, you mark the changed file: git add <filename>
  31. 31. Tags You can use tagging to mark a significant changeset, such as a release: git tag 1.0.0 <commitID> CommitId is the leading characters of the changeset ID, up to 10, but must be unique. Get the ID using: git log Push all tags to remote repository: git push --tags origin
  32. 32. Undo local changes If you mess up, you can replace the changes in your working tree with the last content in head: Changes already added to the index, as well as new files, will be kept. git checkout -- <filename> Instead, to drop all your local changes and commits, fetch the latest history from the server and point your local master branch at it, do this: git fetch origin git reset --hard origin/master
  33. 33. Search Search the working directory for foo(): git grep "foo()"
  34. 34. Gaurav