Make sure to mark it private. Make sure to make it a Mercurial one and not a Git one.

Similar documents
Programming with Haiku

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum

History...: Displays a window of Gitk, a standard commit viewer for Git.

Revision Control and GIT

Setting up GitHub Version Control with Qt Creator*

CS 520: VCS and Git. Intermediate Topics Ben Kushigian

Getting the files for the first time...2. Making Changes, Commiting them and Pull Requests:...5. Update your repository from the upstream master...

Version control system (VCS)

Submitting your Work using GIT

Git and GitHub. Dan Wysocki. February 12, Dan Wysocki Git and GitHub February 12, / 48

Version control CSE 403

Your desktop or laptop computer consists of several hardware components:

Version Control System GIT

Tips on how to set up a GitHub account:

Using git for Homework

Git version control with Eclipse (EGit) Tutorial

git commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b

Version Control with Git ME 461 Fall 2018

Windows. Everywhere else

Git. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes

Code Repository. P Blanchfield

Version Control Systems (VCS)

Git, the magical version control

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now

Version Control System - Git. zswu

Gitlab Setup/Usage by Yifeng Zhu modified by Vince Weaver 30 January 2019

Distributed Version Control

Common Git Commands. Git Crash Course. Teon Banek April 7, Teon Banek (TakeLab) Common Git Commands TakeLab 1 / 18

Snapshot Best Practices: Continuous Integration

Version control CSE 403

Using GitHub to Share with SparkFun a

Working in Teams CS 520 Theory and Practice of Software Engineering Fall 2018

Git tips. Some tips to use Git.

Version control CSE 403

USING DRUPAL. Hampshire College Website Editors Guide

Software Development I

SwanSim - A Guide to Git / SourceTree / GitLab for Windows

TDDC88 Lab 4 Software Configuration Management

Software Revision Control for MASS. Git Installation / Configuration / Use

CS 320 Introduction to Software Engineering Spring February 06, 2017

Crash Course in C++ R F L Evans. www-users.york.ac.uk/~rfle500/

Github/Git Primer. Tyler Hague

Version control with git and Rstudio. Remko Duursma

Git tutorial. Katie Osterried C2SM. October 22, 2015

Intro to Github. Jessica Young

EECS 470 Lab 4. Version Control System. Friday, 31 st January, 2014


Hg Mercurial Cheat Sheet

The Old World. Have you ever had to collaborate on a project by

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison

Getting started with GitHub

Computer Science Design I Version Control with Git

Git(Lab) Tutorial and Hands-On

Version Control. Second level Third level Fourth level Fifth level. - Software Development Project. January 11, 2017

Assumptions. GIT Commands. OS Commands

Makefile Practice: Part 1 Making a Single Program without Templated.h Files: Get the MakeBasics folder from the CS260 repository.

Git Guide. Meher Krishna Patel. Created on : Octorber, 2017 Last updated : October, More documents are freely available at PythonDSP

Object Oriented Programming. Week 1 Part 2 Git and egit

Version Control. Ioannis N. Athanasiadis. with slides from Solution Perspective Media and Software Carpentry

M E R C U R I A L (The Source Control Management)

CSC 2700: Scientific Computing

Git Setup Help using GitKraken (CSE 154)

USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY

API RI. Application Programming Interface Reference Implementation. Policies and Procedures Discussion

GIT : BEST PRACTICES GUIDE BY ERIC PIDOUX DOWNLOAD EBOOK : GIT : BEST PRACTICES GUIDE BY ERIC PIDOUX PDF

Hg Tutorial. For : COP Object oriented Programming (Using C++) Biswas Parajuli

A Brief Introduction to Git. Sylverie Herbert (based on slides by Hautahi Kingi)

WinCvs Version 1.1. Users Guide. Don Harper

2 Initialize a git repository on your machine, add a README file, commit and push

Intermediate Programming, Spring Misha Kazhdan

Using Git to Manage I&T Projects and for Code & Design File CMVC

Revision control. INF5750/ Lecture 2 (Part I)

GitHub Classroom. Click Sign up in to top right of the page, and the following dialog is displayed.

CSE 332: Data Structures and Parallelism Winter 2019 Setting Up Your CSE 332 Environment

Introduction to Git and Github

Why To Go With Licensed Version Control Tool When Open Source Tool Is There

Outline The three W s Overview of gits structure Using git Final stuff. Git. A fast distributed revision control system

So#ware(Project. Lecture'4. Wouter'Swierstra. So#ware(project( (Lecture(4 1

! #Running this command from the top directory of your project will add all your changes."! $ git add."

GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY

A BASIC UNDERSTANDING OF VERSION CONTROL

What is git? Distributed Version Control System (VCS); Created by Linus Torvalds, to help with Linux development;

Version Control Systems

Chapter 5. Version Control: Git

git Version: 2.0b Merge combines trees, and checks out the result Pull does a fetch, then a merge If you only can remember one command:

Git. SSE2034: System Software Experiment 3, Fall 2018, Jinkyu Jeong

G E T T I N G S TA R T E D W I T H G I T

Table of Contents. Concepts

FEEG Applied Programming 3 - Version Control and Git II

Git. A fast distributed revision control system. Nils Moschüring PhD Student (LMU)

Tizen/Artik IoT Practice Part 4 Open Source Development

Getting the Source Code

Git Resolve Conflict Using Mine Command Line

Portions adapted from A Visual Guide to Version Control. Introduction to CVS

Development in code_aster Using Mercurial. Code_Aster, Salome-Meca course material GNU FDL licence (

Lecture 01 - Working with Linux Servers and Git

Git. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015

Visualizing Git Workflows. A visual guide to 539 workflows

Version Control. Version Control

An Introduction to Subversion

Transcription:

Go to bitbucket.org - make an account. Make sure to use your.edu email address so that you get a free unlimited account. In bitbucket, create a repository. Make sure to mark it private. Make sure to make it a Mercurial one and not a Git one. The language doesn't really matter a whole lot - but will help with syntax highlighting when viewing code on the web. You can make one locally and then add it to the server, but the steps are more complicated. Go to your desktop. Right click and then tell TortiseHG to set up a clone. Get the URL from your repository. It should look like: https://bitbucket.org/yourname/y ourproject/ Don't include the last part (overview or src or whatever page you are looking at).

Use that as the source. Destination can be wherever. To match the rest of this document, make sure the folder name is mysample You should end up with a new folder, empty except for the.hg repository files. Make a new QT Creator Project and create it in that folder:

You can tell QT to add the files immediately to version control. If you don't do it now, you can easily do so later. You can also just drag an existing project into the mysample folder. Go ahead and build your project so that we can practice ignoring the build product. Open up the Hg Workbech by right clicking in explorer - do this in the mysample folder to automatically open it in the workbench.

You should see something like this on the sample repository. Green files are already added. Pink files are not a part of the repository. Nothing here is final until we commit. First we want to ignore some files. Right click the Makefile and hit Ignore. You will be asked if you want to add a.hgignore file. Yes you do. First, we want to specify to ignore all Makefiles. Enter the pattern shown to the right *Makefile* Says anything that possibly has any text (*), followed by "Makefile", possibly followed by any other text (*). Clicking add should make the Makefiles disappear from the Untracked files list. Now add the patterns: *.o *.exe *.pro.user Once again, * means "any string". So anything ending with.o,.exe or.pro.user will be ignored.

Note that the.hgignore is just a plain text file - you can edit it by hand with a text editor. Close the ignore dialog. Now your only files to worry about should be the.cpp,.pro and.hgignore. Check them all to indicate that you want to include these changes in the first commit. If you want you could only check the.ignore, and check it in as one change, then do the.cpp and.pro as a separate change. Type a message about what you are committing and hit commit. You will likely be asked to identify yourself. Just fill in the username field of the Commit settings. You can put anything you like - this is the name that gets stored with the commit it does not have to match your actual bitbucket account. Now push your changes to the server.

Go log into bitbucket and find your repository. Examine the source there. Go back to the desktop and clone the repository again (we want two copies of it). Clone this copy to mysample2 folder. The new repository should have the exact same code as the first.

Open up the project in mysample Make a change to the code. Save the changes. In the workbench, under mysample, make sure you are on the Working Directory. You should see main.cpp has changed and shows up in blue at the bottom. If you do not see it, refresh (F5). Make sure it is checked, add a commit message and then hit commit to save it. Push the commit to the server. In the workbench, switch to mysample2. It does not have the change yet. Hit the Pull button to get the change from the server.

It will show up as a new branch. The "Not a head revision" on the main branch means that any changes you have made in mysample2 are not checked in. Right click on the new branch and Update to it. Go check mysample2 folder. It should have the new version of the code. Other things to try: Make some changes in mysample2, push them to the server, then pull them to mysample Make changes in BOTH mysample and mysample2 (change different lines or files in each). Then commit both and try to push them. When you go to push the second one, you will be told there are new changes available and be forced to integrate your changes with the once from the server. Right click the new branch and Merge it into your changes. Make conflicting changes in both. (Pick two lines of code, change both lines in both copies of the repository). Push the changes from mysample, pull those into mysample2 and then try to merge. You will have to use the KDiff tool to pick the correct version of each change that is in conflict. This link describes how KDiff works: http://naleid.com/blog/2012/01/12/how-to-use-kdiff3-as-a-3-way-merge-tool-withmercurial-git-and-tower-app