├── Basic Concepts ├── Basic Concepts.md └── images │ ├── ArrayDelete2Elements.png │ ├── ArrayInsertIndex0.png │ ├── ArraySize.png │ ├── BookmarkEx.png │ ├── BookmarkManager.png │ ├── Change_VI.png │ ├── Commit_Hello_World_Change.png │ ├── Commit_Simple_Add.png │ ├── Commit_Third-Sum-Edit.png │ ├── Current_Branch.png │ ├── Edit_in_GitHub.png │ ├── GoodSubVICode.png │ ├── Hello_World_BD.png │ ├── Hello_World_Mod_BD.png │ ├── Hello_World_Mod_FP.png │ ├── History.png │ ├── History_Numbered.png │ ├── MergeBattle.png │ ├── Merge_Branch.png │ ├── New Branch Three-Sum.png │ ├── New Branch.png │ ├── New_Branch_Third-Sum-Edit.png │ ├── New_File_Commit.png │ ├── New_VI.png │ ├── Pull_Origin.png │ ├── Review_Req.png │ ├── Sep_Compiled_Code.png │ ├── SpagCode.png │ ├── Switch_Branch.png │ ├── TagIssue.png │ ├── Third_Sum_Edit_Simple_Add.png │ └── createNewRepository.png └── GitHub and LabVIEW - Basic Concepts.pptx /Basic Concepts/Basic Concepts.md: -------------------------------------------------------------------------------- 1 | # Basic Concepts 2 | ## Before You begin 3 | ### Create a GitHub Account 4 | If you don't already have a GitHub account, go to https://github.com and create a new account. You should only use one account for all of your projects. GitHub has other mechanisms for separating personal projects from work projects. 5 | ### Download GitHub Desktop 6 | Go to https://desktop.github.com/ and download the appropriate version for your OS. 7 | 8 | ## 1.1 Initialize a new Repository 9 | To begin, we will create a new repository in the GitHub Desktop app, make some 10 | changes, then publish it to your GitHub profile in section 1.5. 11 | 12 | 1. From the splash screen or the **File** menu, select **New Repository** 13 | 14 | 2. Fill out the fields for the new repository to be created. 15 | 16 | 1. Give your new repository a name. Valid Git repository names don't have spaces, so if you attempt to give it a name with spaces it will change those spaces to dashes, e.g. "GitHub Tutorial" will be changed to "GitHub-Tutorial". 17 | 18 | 2. Give your new repository a meaningful description. 19 | 20 | 3. Choose a local directory for your new repository. 21 | 22 | 4. Most software projects require documentation, and the easiest place to do that in GitHub is in the "README.md" file. If you want to create this file when you create repository, check the box. 23 | 24 | 5. Select **LabVIEW** in the **Git Ignore** dropdown. The Git ignore file tells a repository what files it should not track. For LabVIEW, we probably don't want to track imported libaries, shared objects, executables, or metadata. These files can be identified as files to ignore using their file extensions in the Git ignore file. We could manually create this file later from scratch, but GitHub already provides a nice template for LabVIEW that includes all of the relevant file types to exclude. 25 | 26 | 6. **You MUST provide a license for your code.** If you intend to share this code, you should select MIT License or Apache License 2.0. If you don't select a license, then your code is considered unlicensed and get you and your organization in legal hot water. **ALWAYS PROVIDE A LICENSE**. 27 | 28 | 7. Select **Create Repository**. 29 | 30 | 8. Navigate to the local folder on your computer and observe the files that were created. The shortcut for this from GitHub Desktop is **Repository >> Show in Explorer (CTRL+SHIFT+F)**. 31 | 32 | 9. Confirm that repository is set to not track the LabVIEW-associated files mentioned in step 5. Go to **Repository >> Repository Settings >> Ignored Files**. This is displaying the contents of the .gitignore file and should contain the following: 33 | 34 | ``` 35 | # Libraries 36 | *.lvlibp 37 | *.llb 38 | 39 | # Shared objects (inc. Windows DLLs) 40 | *.dll 41 | *.so 42 | *.so.* 43 | *.dylib 44 | 45 | # Executables 46 | *.exe 47 | 48 | # Metadata 49 | *.aliases 50 | *.lvlps 51 | ``` 52 | 53 | ## 1.2 Adding a File to the Repo (Initial Commit) 54 | Create a new file and commit it. 55 | 1. Create a new simple LabVIEW VI in your local repository folder called "Hello World.vi". 56 | 57 | 58 | ![](images/Hello_World_BD.png "Hello World.vi") 59 | 60 | 61 | 2. In Github Desktop, see in the Changes tab that the new file has been detected, but not yet committed. The green plus indicates that the file is new to the repo. 62 | 63 | 64 | ![](images/New_VI.png "New VI Detected") 65 | 66 | 67 | 3. To commit the file to the repo: 68 | 69 | 1. A summary is required. Example: Add Hello World.vi 70 | 71 | 2. The description, which is optional, can be used to add more details about the commit. Example: New VI that shows a message with a one-button dialog. 72 | 73 | 3. Click **Commit to master** to complete the commit. 74 | 75 | 76 | ![](images/New_File_Commit.png "Commit New File") 77 | 78 | 79 | ## 1.3 Committing Changes 80 | A commit is change to a file or set of files, it can be thought of as a revision. 81 | 1. Make a change to the Hello World LabVIEW VI you created in 1.3. For example, change the string constant to a string control and connect the string control to the connector pane. 82 | 83 | 84 | ![](images/Hello_World_Mod_FP.png "Front Panel of Hello World.vi") 85 | 86 | 87 | 88 | ![](images/Hello_World_Mod_BD.png "Block Diagram of Hello World.vi") 89 | 90 | 91 | 2. GitHub Desktop will automatically detect the changes made in the LabVIEW VI. These changes will be staged in the **Changes** tab. The yellow dot icon indicates that changes have been made to the file. 92 | 93 | 94 | ![](images/Change_VI.png "Changes Reflected By Yellow Dot Icon") 95 | 96 | 97 | 3. Create another new LabVIEW VI, "Simple Add.vi". From GitHub Desktop staged changes, you will be able to see that the new file is also automatically detected and will show up with a green plus icon to indicate that it is a new file. 98 | 99 | 4. Commit the changes. Multiple changes can be committed together or separately. Use the checkboxes beside each staged difference in the Changes tab to select which changes you would like to commit. 100 | 101 | 1. Commit **only** the change to "Hello World.vi" by unchecking the checkbox next to the "Simple Add.vi". Add summary and description and click **Commit to master**. 102 | 103 | 104 | ![](images/Commit_Hello_World_Change.png "Commit Changes to Hello World.vi") 105 | 106 | 107 | 2. Commit the remaining change, which adds "Simple Add.vi" to the repo. 108 | 109 | 110 | ![](images/Commit_Simple_Add.png "Commit New VI Simple Add.vi") 111 | 112 | 113 | ## 1.4 History 114 | We can view information on past commits from GitHub Desktop. 115 | 1. Click the **History** tab in GitHub Desktop and click on a commit to get more details about it. 116 | 117 | 118 | ![](images/History_Numbered.png "History in GitHub Desktop") 119 | 120 | 121 | 1. Commit summary. 122 | 2. Commit description. 123 | 3. A unique ID is created for every commit. This is sometimes called the SHA or the hash. 124 | 125 | Right-clicking on an item in the **History** tab gives you the option to revert the commit. This should be used with caustion, as it undoes all changes since the previous commit, reverting your files back to a previous version. This option is also available via right-click from changes staged in the **Changes** tab. 126 | 127 | ## 1.5 Publishing Your Repository to GitHub.com 128 | You have already heard of GitHub.com, where you created your GitHub account. Up until this point, what we have been doing is using the version control software Git to track changes on our computer. This makes our computer into a Git server. The files still only exist in one place: On our machine. 129 | 130 | GitHub.com is a web-based hosting service that we can push repositories to. This explores additional benefits of using Git besides change tracking, such as: 131 | * Create backups of our work. 132 | * Coordinate multiple users working on one project. 133 | 134 | 1. Click **Publish repository** to publish your repository to GitHub.com. GitHub desktop offers the option to keep your code private, but uncheck this, as private repos are only available to paying users on GitHub.com. Your repo will be viewable to the public after it is uploaded to the GitHub.com servers. 135 | 136 | 137 | ![](images/Current_Branch.png "Publish Repository to GitHub.com") 138 | 139 | 140 | Now, a copy of your repository (your project folder) has been "pushed" to the GitHub servers and is accessible to the public via GitHub.com. Go to your GitHub page online and observe the files that were created. A shortcut from GitHub Desktop to view the repo online in a browser is **Repository >> View on GitHub (CTRL+SHIFT+G)**. Now that it is hosted on GitHub.com, additional changes can be pushed from you as well as other users of GitHub. We will next cover how to manage access and conflicting changes. 141 | 142 | ## 1.6 Fetching and Pulling 143 | Notice the top bar now says **Fetch origin** with a time. Fetching means detecting the latest changes from an online repo, but it does not automatically merge these changes into the local repo. With the "last fetched" time, GitHub Desktop is indicating to us the time that it last connected with the GitHub.com repository. When it detects changes, it will give you the option to pull. Pulling (**Repository >> Pull**) will take changes from the remote online repo and apply them to your local repo files. 144 | 145 | If you are working on a project with multiple users making changes, you can see how it is very crucial that you pull from the main repository that everyone is working from before starting your own changes (e.g. adding a feature or fixing a bug). Otherwise, you may not be working with the most up-to-date version of the project. We will illustrate this by making a change in the repository hosted on GitHub.com and seeing how pulling looks in the GitHub Desktop application on your computer following these changes. 146 | 147 | 1. Launch your repository page on GitHub.com in a browser. You can either navigate to this from GitHub.com, or from GitHub Desktop, use **Repository >> View on GitHub** (CTRL+SHIFT+G). 148 | 149 | 2. We will edit the "README.md" file. GitHub.com provides a built-in text editing tool. This simulates a change to the repo that may have been pushed by another user. Click on "README.md" and then click the pencil icon on the right that launches the GitHub.com text editor. The file extension ".md" stands for Markdown, a lightweight markup language. 150 | 151 | 152 | ![](images/Edit_in_GitHub.png "Edit Markdown file in GitHub") 153 | 154 | 155 | 3. Add text to the "README.md" file and commit your changes with the box below the editor. Note that we are still working in the branch **master**. 156 | 157 | 4. Go back to GitHub Desktop. You will see that the button that previously said **Fetch origin** now says **Pull origin**. Click this to apply the change to your local repo. 158 | 159 | 160 | ![](images/Pull_Origin.png "Pull From Remote Repo") 161 | 162 | 163 | 5. Navigate to the "README.md" file on your computer and open it. You will see that the changes you made in GitHub.com are now reflected in this copy of the file as well. You can also see from the **History** tab that the revision has been added to the list of commits for the branch. 164 | 165 | ## 1.7 Pushing 166 | Up until this point we have explored how to pull the most up-to-date version of the remote repo onto your computer. The next step is to make a change to your local repo and push it back to the remote repo. 167 | 168 | 1. Open "README.md" in your local repo. Add text to the file and save the changes. 169 | 170 | 2. From GitHub Desktop, commit the changes. 171 | 172 | 3. Use the **Push origin** button to push changes to the remote repo. 173 | 174 | 4. Open the repo hosted on GitHub.com (CTRL+SHIFT+G) and see that the changes you made are reflected in the "README.md" file there. 175 | 176 | Allowing multiple users to push to a single remote repo in this manner will very quickly start to get messy. It creates the possibility of overwriting someone else's changes. Next, we introduce branches and pull requests as methods to control access to a repo and organize changes made by multiple users working on one repo. 177 | 178 | ## 1.8 Branches 179 | Creating a branch creates a parallel version of the **master** (primary or default) branch. Making changes in this new branch will not disrupt the master branch, and the changes made in the new branch can be merged back into the master branch when the developer is ready. 180 | 1. Create a new branch from GitHub Desktop with **Branch >> New branch** (CTRL+SHIFT+N). It will ask for a name, call it "Third-Sum-Edit". This will be the branch in which we add a new feature: Add a third number to the summation in Simple Add.vi. 181 | 182 | 183 | ![](images/New_Branch_Third-Sum-Edit.png "Create New Branch") 184 | 185 | 186 | 2. Add a third number to the calculation in LabVIEW VI Simple Add.vi. 187 | 188 | 189 | ![](images/Third_Sum_Edit_Simple_Add.png "Add Third Addend to Simple Add VI") 190 | 191 | 192 | 3. Commit the changes to the branch. 193 | 1. Check that you are in the correct branch from the top menu that reads "**Current branch**. It is very important that we commit to the correct branch, as committing to the **master** branch will edit the primary copy, and that may affect the other users accessing it. 194 | 2. Add a summary and description for the commit. 195 | 196 | 197 | ![](images/Commit_Third-Sum-Edit.png "Commit changes to Simple Add VI to the new branch Third-Sum-Edit.") 198 | 199 | 200 | 3. Notice that the commit button now reads **Commit to Third-Sum-Edit**, instead of **Commit to master**. Commit to the branch. 201 | 202 | 4. From the **Current Branch** menu on the top bar, switch back to **master** branch and view the **History** tab. There, you can confirm that these changes we committed to the branch are not reflected in the **master** branch. Be sure to switch back to **Third-Sum-Edit** branch before continuing, as we want to keep working in this branch. Note that we can only switch branches when all changes have been committed (no changes are staged). 203 | 204 | 5. Publish branch to GitHub.com with the **Publish branch** button. Then, go to the online repo and you will be able to see from Code >> 2 branches that your new branch is now present in this repo as well. However, it is still separate from the master branch. You will have to merge the Third-Sum-Edit branch with the master branch for the changes to be reflected there. 205 | 206 | ## 1.9 Merging Branches and Pull Requests 207 | If we are the owners of the repo, we can merge our new branch directly with the **master** branch without additional review. This would be done with the following procedure: 208 | 209 | 1. Navigate to the **master** branch. Note that it is very important that you do this from the **master** branch, so that the **master** remains the primary/default branch. 210 | 211 | 2. Use **Branch >> Merge into current branch** (CTRL+SHIFT+M). 212 | 213 | 3. Select **Third-Sum-Edit** branch, which merges the changes made in the branch back into the **master** branch. 214 | 215 | However, if multiple users have multiple branches, merging them all without a gatekeeping review process could result in issues, such as unwanted changes or overwriting someone else's work. We therefore want to create a pull request, which requests a merge with the master branch, and the merge will not be completed without approval from one of the repo's approvers. 216 | 217 | 1. Confirm from **Current branch** in the top bar in GitHub Desktop that you are currently in the branch you want to create the pull request for, in this case, **Third-Sum-Edit**. 218 | 219 | 2. Go to **Branch >> Create pull request** (CTRL+R). This launches the pull request page in GitHub.com. Note that the branch must be pushed before a pull request can be made, so that all changes you've made on the branch locally are also reflected in the GitHub.com copy of the branch. In this case, we have not made changes since publishing the branch to GitHub.com, so we do not need to push. 220 | 221 | 3. The **Open a pull request** page should show that you are requesting a merge of **Third-Sum-Edit** into **master**. This means the **base:** is **master** and the **compare:** is **Third-Sum-Edit**. 222 | 223 | 224 | ![](images/Merge_Branch.png "Confirm that you are merging the changes in Third-Sum-Edit into the master branch.") 225 | 226 | 227 | 4. Select **Create pull request**. See that this creates a forum where reviewer comments can be added. You can continue working and committing more changes to the pull request until it is approved by an approver, the pull request will update to reflect these additional commits as long as you continue to push them. 228 | 229 | 5. In this case, we are owners of the repo, so we have reviewer privileges. Therefore, we are able to **Merge the pull request** on our own, and you can go ahead and do so. If you did not have reviewer privileges, the option would be disabled, as shown below. 230 | 231 | 232 | ![](images/Review_Req.png "Merge will be disabled if you do not have approver privileges for the repo.") 233 | 234 | 235 | 6. Once you have merged the changes from **Third-Sum-Edit** into **master**, you can navigate to the **branches** tab and delete **Third-Sum-Edit**. A branch should be tied to a specific feature addition, bug fix, etc. Once this has been completed, it should be deleted and new branch started for the next section of work. 236 | 237 | Congratulations! You now know the basics of using Git source control with GitHub.com and GitHub Desktop. 238 | 239 | ## 2.0 Using LabVIEW and Git 240 | There are a few things to be aware of when using LabVIEW with Git. 241 | 242 | ## Separating Compiled Code from VIs 243 | 244 | By default, a VI stores two types of code together: 245 | * Graphical source code that you edit in the LabVIEW development environment 246 | * Compiled code that LabVIEW uses to run the VI 247 | 248 | When you make changes to a VI in the development environment, LabVIEW automatically recompiles the code to reflect the changes you have made, and does the same for all calling VIs as well. 249 | 250 | This becomes a problem if you make changes to a subVI when using source control. Since all calling VIs will also be recompiled, Git will detect changes in the binary code of those files. These will be reflected as uncommitted changes, even when you haven't actually made LabVIEW code changes to the calling VIs. 251 | 252 | Fortunately, there is a way to separate compiled code from the source code of a VI. 253 | 254 | **Project Properties >> Project >> Separate compiled code from new project items**. Use **Mark Existing Items** to select which existing items you would like to have separated compiled code. 255 | 256 | 257 | ![](images/Sep_Compiled_Code.png "Set this so that new project items are automatically set to separate their compiled code.") 258 | 259 | 260 | When you check this option, LabVIEW will store the compiled code separately, in a compiled object cache on your local machine, rather than in the VI file that is in the repository. This enables Git to accurately detect which VIs have had code changes made to them. 261 | 262 | This option should not be used when you are intending to run or load the VI with the LabVIEW Run-Time Engine. The Run-Time Engine cannot handle source-only VIs because it has no access to the compiled object cache. 263 | 264 | Keep in mind that it is always recommended to deliver source code with an export and not by copying project folders. Read [Best Practices for Code Packaging in LabVIEW](ftp://ftp.ni.com/pub/branches/us/Dev%20Days/best_practices_code_packaging_labview.pdf) for more information. 265 | 266 | Resources: 267 | 268 | * [Facilitating Source Control by Separating Compiled Code from VIs and Other File Types](http://zone.ni.com/reference/en-XX/help/371361R-01/lvconcepts/saving_vis_compiled_code/) 269 | * [Separating Compiled Code from VIs and Other File Types](http://zone.ni.com/reference/en-XX/help/371361P-01/lvhowto/separate_compiled_code/) 270 | * [Best Practices for Code Packaging in LabVIEW](ftp://ftp.ni.com/pub/branches/us/Dev%20Days/best_practices_code_packaging_labview.pdf) 271 | 272 | ### Avoid Merging 273 | 274 | We have discussed merging a branch into the master branch, but what about merging changes to one file when two users have simultaneously made changes? 275 | 276 | While troublesome, there are tools to compare these sorts of conflicting changes in text-based coding. With graphical coding, this kind of file merge will present a larger challenge. 277 | 278 | 279 | ![](images/MergeBattle.png "Issues arise when two users make changes to the same file.") 280 | 281 | 282 | Merge "battles" should therefore be prevented whenever possible by avoiding simultaneous conflicting changes to the same file by multiple users. There are a few methods to prevent this. 283 | 284 | 1. Code Organization 285 | 286 | By splitting code into different files, simultaneous development on one file can be more easily avoided. Use subVIs to separate code. 287 | 288 | Bad: 289 | 290 | 291 | ![](images/SpagCode.png "Gross.") 292 | 293 | 294 | Good: 295 | 296 | 297 | ![](images/GoodSubVICode.png "Well-organized, separated code that enables multiple users to work on one application simultaneously.") 298 | 299 | 300 | See that in the "good" example, the code is separated in subVIs by function: 301 | * Application control, handles unexpected errors 302 | * Receive remote commands with network streams 303 | * Data acquisition engine 304 | * Analyze data and check trig conditions 305 | * Write TDMS files to disk, manage hard drive 306 | * Periodically broadcast system health 307 | * Send tags and wfms to remote client 308 | * Check for hanging threads 309 | 310 | Since these subVIs are in different files, they can be worked on simultaneously, and all users would still be working on improvements to the overall application. 311 | 312 | 2. Communication 313 | 314 | Communicate to project members to understand who is assigned each change that must be made. Accidentally making changes to the same file due to miscommunication will result in a merge battle. There are some tools to better organize your team. 315 | 316 | Use GitHub Issues to track and assign changes. Go to your repository page on GitHub.com. From the Issues tab, you can create and assign specific issues to members of the team. 317 | 318 | It is best practice to tag in your commits the issue(s) that it addresses. GitHub Desktop will allow you to tag issues directly from either the **Subject** or **Description** of your commit. 319 | 320 | Once the issue has been created in GitHub.com, ensure that your local repo is synced with the online repo (recall that this is done with **Fetch Origin**). Then, you will be able to tag the issue by typing #. This will bring up a list of the issues. Click on the relevant issue to insert the tag. 321 | 322 | 323 | ![](images/TagIssue.png "Well-organized, separated code that enables multiple users to work on one application simultaneously.") 324 | 325 | 326 | An additional tool that can be used is LabVIEW bookmarks. 327 | 328 | Bookmarks are created by the # tag in a free label, object label, wire label, or subdiagram label. Below, the tag "#NOTE: Report, put don't pass error. Run every command."" has been created. 329 | 330 | 331 | ![](images/BookmarkEx.png "Create a bookmark with the # tag.") 332 | 333 | 334 | All bookmarks can be viewed in the Bookmark Manager. This can even be launched from a project, which displays bookmarks in all VIs in the project. 335 | **View >> Bookmark Manager** 336 | 337 | 338 | ![](images/BookmarkManager.png "View all bookmarks.") 339 | 340 | 341 | Come up with a system to help other team members easily identify fixes that must be made within existing LabVIEW code. In the above system, these tags are used for the following functions: 342 | * **#BUG** denotes where an issue may be referring to 343 | * **#NOTE** are notes about the program that may be helpful to other developers 344 | * **#TODO** denotes where additional code should be added in the future 345 | 346 | Resources 347 | * [Bookmark Manager](http://zone.ni.com/reference/en-XX/help/371361K-01/lvdialog/bkmk_manager_moreinfo/) 348 | * [5 Things You Need to Know About LabVIEW Bookmarks](https://forums.ni.com/t5/LabVIEW-News/5-Things-You-Need-to-Know-About-LabVIEW-Bookmarks/ba-p/3486903) 349 | 350 | ## Additional Resources 351 | * [GitHub Glossary](https://help.github.com/articles/github-glossary/) 352 | -------------------------------------------------------------------------------- /Basic Concepts/images/ArrayDelete2Elements.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/ArrayDelete2Elements.png -------------------------------------------------------------------------------- /Basic Concepts/images/ArrayInsertIndex0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/ArrayInsertIndex0.png -------------------------------------------------------------------------------- /Basic Concepts/images/ArraySize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/ArraySize.png -------------------------------------------------------------------------------- /Basic Concepts/images/BookmarkEx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/BookmarkEx.png -------------------------------------------------------------------------------- /Basic Concepts/images/BookmarkManager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/BookmarkManager.png -------------------------------------------------------------------------------- /Basic Concepts/images/Change_VI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Change_VI.png -------------------------------------------------------------------------------- /Basic Concepts/images/Commit_Hello_World_Change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Commit_Hello_World_Change.png -------------------------------------------------------------------------------- /Basic Concepts/images/Commit_Simple_Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Commit_Simple_Add.png -------------------------------------------------------------------------------- /Basic Concepts/images/Commit_Third-Sum-Edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Commit_Third-Sum-Edit.png -------------------------------------------------------------------------------- /Basic Concepts/images/Current_Branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Current_Branch.png -------------------------------------------------------------------------------- /Basic Concepts/images/Edit_in_GitHub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Edit_in_GitHub.png -------------------------------------------------------------------------------- /Basic Concepts/images/GoodSubVICode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/GoodSubVICode.png -------------------------------------------------------------------------------- /Basic Concepts/images/Hello_World_BD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Hello_World_BD.png -------------------------------------------------------------------------------- /Basic Concepts/images/Hello_World_Mod_BD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Hello_World_Mod_BD.png -------------------------------------------------------------------------------- /Basic Concepts/images/Hello_World_Mod_FP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Hello_World_Mod_FP.png -------------------------------------------------------------------------------- /Basic Concepts/images/History.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/History.png -------------------------------------------------------------------------------- /Basic Concepts/images/History_Numbered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/History_Numbered.png -------------------------------------------------------------------------------- /Basic Concepts/images/MergeBattle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/MergeBattle.png -------------------------------------------------------------------------------- /Basic Concepts/images/Merge_Branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Merge_Branch.png -------------------------------------------------------------------------------- /Basic Concepts/images/New Branch Three-Sum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/New Branch Three-Sum.png -------------------------------------------------------------------------------- /Basic Concepts/images/New Branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/New Branch.png -------------------------------------------------------------------------------- /Basic Concepts/images/New_Branch_Third-Sum-Edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/New_Branch_Third-Sum-Edit.png -------------------------------------------------------------------------------- /Basic Concepts/images/New_File_Commit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/New_File_Commit.png -------------------------------------------------------------------------------- /Basic Concepts/images/New_VI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/New_VI.png -------------------------------------------------------------------------------- /Basic Concepts/images/Pull_Origin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Pull_Origin.png -------------------------------------------------------------------------------- /Basic Concepts/images/Review_Req.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Review_Req.png -------------------------------------------------------------------------------- /Basic Concepts/images/Sep_Compiled_Code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Sep_Compiled_Code.png -------------------------------------------------------------------------------- /Basic Concepts/images/SpagCode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/SpagCode.png -------------------------------------------------------------------------------- /Basic Concepts/images/Switch_Branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Switch_Branch.png -------------------------------------------------------------------------------- /Basic Concepts/images/TagIssue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/TagIssue.png -------------------------------------------------------------------------------- /Basic Concepts/images/Third_Sum_Edit_Simple_Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/Third_Sum_Edit_Simple_Add.png -------------------------------------------------------------------------------- /Basic Concepts/images/createNewRepository.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/Basic Concepts/images/createNewRepository.png -------------------------------------------------------------------------------- /GitHub and LabVIEW - Basic Concepts.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NISystemsEngineering/GitHub-Hands-on/91931f0a62d1de72674ec114e27709bfdd7f8d1b/GitHub and LabVIEW - Basic Concepts.pptx --------------------------------------------------------------------------------