|
1 | 1 | <!DOCTYPE html> |
2 | 2 | <html> |
3 | 3 | <head> |
4 | | - <title>Hands-on: Configuring and Using Git with RStudio</title> |
| 4 | + <title>Git: Hands-on</title> |
5 | 5 | <meta charset="utf-8"> |
6 | 6 | <meta name="author" content="John Little" /> |
7 | | - <meta name="date" content="2018-01-29" /> |
8 | | - <link href="libs/remark-css-0.0.1/example.css" rel="stylesheet" /> |
9 | | - <script src="libs/htmlwidgets-0.9/htmlwidgets.js"></script> |
| 7 | + <meta name="date" content="2018-09-25" /> |
| 8 | + <link href="libs/remark-css-0.0.1/default.css" rel="stylesheet" /> |
| 9 | + <script src="libs/htmlwidgets-1.2/htmlwidgets.js"></script> |
10 | 10 | <script src="libs/jquery-1.12.4/jquery.min.js"></script> |
11 | | - <script src="libs/datatables-binding-0.2/datatables.js"></script> |
12 | | - <link href="libs/dt-core-1.10.12/css/jquery.dataTables.min.css" rel="stylesheet" /> |
13 | | - <link href="libs/dt-core-1.10.12/css/jquery.dataTables.extra.css" rel="stylesheet" /> |
14 | | - <script src="libs/dt-core-1.10.12/js/jquery.dataTables.min.js"></script> |
| 11 | + <link href="libs/datatables-css-0.0.0/datatables-crosstalk.css" rel="stylesheet" /> |
| 12 | + <script src="libs/datatables-binding-0.4/datatables.js"></script> |
| 13 | + <link href="libs/dt-core-1.10.16/css/jquery.dataTables.min.css" rel="stylesheet" /> |
| 14 | + <link href="libs/dt-core-1.10.16/css/jquery.dataTables.extra.css" rel="stylesheet" /> |
| 15 | + <script src="libs/dt-core-1.10.16/js/jquery.dataTables.min.js"></script> |
| 16 | + <link href="libs/crosstalk-1.0.0/css/crosstalk.css" rel="stylesheet" /> |
| 17 | + <script src="libs/crosstalk-1.0.0/js/crosstalk.min.js"></script> |
15 | 18 | <link rel="stylesheet" href="duke_color_pallettes_slides.css" type="text/css" /> |
16 | 19 | <link rel="stylesheet" href="cc-fonts.css" type="text/css" /> |
17 | 20 | <link rel="stylesheet" href="figures.css" type="text/css" /> |
|
20 | 23 | <textarea id="source"> |
21 | 24 | class: center, middle, inverse, title-slide |
22 | 25 |
|
23 | | -# Hands-on:<br>Configuring and Using Git with RStudio |
| 26 | +# Git: Hands-on |
24 | 27 | ## <br>Practical Reproducibility |
25 | 28 | ### John Little |
26 | | -### 2018-01-29 |
| 29 | +### 2018-09-25 |
27 | 30 |
|
28 | 31 | --- |
29 | 32 |
|
|
35 | 38 | --- |
36 | 39 | class: middle, center |
37 | 40 |
|
38 | | -Hands-on portion of the workshop: |
39 | | - |
40 | | -## Reproducibility: Data Management, Git, & RStudio Workshop |
41 | | -https://osf.io/r6wfk/ |
| 41 | +Part of the |
| 42 | +### Building Blocks for Reproducibility |
42 | 43 |
|
43 | | -&nbsp; |
| 44 | +& |
44 | 45 |
|
45 | | -Part of the |
46 | 46 | ### [RFun](http://rfun.library.duke.edu) Learning Series |
47 | 47 |
|
48 | | -[Other Rfun Workshops](https://rfun.library.duke.edu/categories/workshops/) |
49 | 48 |
|
50 | 49 | ??? |
51 | 50 |
|
|
61 | 60 |
|
62 | 61 | # Compose a Reproducible Document |
63 | 62 |
|
| 63 | +Use Git to manage version control |
| 64 | + |
| 65 | +Pull &#8226; Commit &#8226; Push &#8226; Branch &#8226; Merge &#8226; Revert |
| 66 | + |
64 | 67 | --- |
65 | | -class: middle |
| 68 | +class: middle, center |
66 | 69 |
|
67 | | -## Literate Code --> Reproducible Research |
| 70 | +## Reproducible Research (Literate Code) |
68 | 71 |
|
69 | 72 | ## Collaborative |
70 | 73 |
|
|
77 | 80 |
|
78 | 81 | - **Reproducibility** is a Top Priority |
79 | 82 |
|
80 | | -- R / RStudio for Composition, Analysis, Reproducible Publishing |
81 | | - |
82 | | - - **RStudio orchestrates Git** |
| 83 | +- Seamless operation with Markdown |
83 | 84 |
|
84 | 85 | - **Git for Version Control** |
85 | 86 |
|
86 | 87 | - Git can be a pain to configure but works well in the background |
87 | 88 | - Leapfrog beyond the barrier of a painful configuration |
88 | 89 |
|
89 | | -- **GitLab (GitHub) for open sharing and collaborating** via repositories |
| 90 | +- **RStudio orchestrates Git** |
| 91 | + |
| 92 | + - Alternative: GitKracken (if you have the [GitHub Student](https://education.github.com/pack) Pack) |
| 93 | + - Alternative: [SourceTree](https://www.sourcetreeapp.com/) (defaults with [BitBucket](https://bitbucket.org/)) |
| 94 | + |
| 95 | + |
| 96 | +- **Social Coding** |
| 97 | + |
| 98 | + - GitHub (especially with Student Pack) |
| 99 | + - GitLab (OIT instance) |
| 100 | + - Bitbucket.org or GitLab.com |
90 | 101 |
|
91 | 102 | --- |
92 | 103 | class: middle |
|
388 | 399 |
|
389 | 400 |
|
390 | 401 |
|
391 | | -<div id="htmlwidget-19e488c4d2b9f3f5f59b" style="width:100%;height:auto;" class="datatables html-widget"></div> |
392 | | -<script type="application/json" data-for="htmlwidget-19e488c4d2b9f3f5f59b">{"x":{"filter":"none","data":[["Private Repo","Public Repo","Duke NetId","User Community"],["by Default","Yes","Yes","Duke University -- <br>can syncronize <br>to public hubs"],["$$ @ GitHub","by Default","No","Largest Available"]],"container":"<table class=\"display\">\n <thead>\n <tr>\n <th>Category<\/th>\n <th>Duke's GitLab<\/th>\n <th>Public Hubs<\/th>\n <\/tr>\n <\/thead>\n<\/table>","options":{"dom":"t","order":[],"autoWidth":false,"orderClasses":false,"rowCallback":"function(row, data) {\nvar value=data[2]; if (value!==null) $(this.api().cell(row, 2).node()).css({'background-color':'lightblue'});\nvar value=data[1]; if (value!==null) $(this.api().cell(row, 1).node()).css({'font-weight':'bold','color':'silver','background-color':'navy'});\n}"}},"evals":["options.rowCallback"],"jsHooks":[]}</script> |
| 402 | +<div id="htmlwidget-ddc602756d762c8a7951" style="width:100%;height:auto;" class="datatables html-widget"></div> |
| 403 | +<script type="application/json" data-for="htmlwidget-ddc602756d762c8a7951">{"x":{"filter":"none","data":[["Private Repo","Public Repo","Duke NetId","User Community"],["by Default","Yes","Yes","Duke University -- <br>can syncronize <br>to public hubs"],["$$ @ GitHub","by Default","No","Largest Available"]],"container":"<table class=\"display\">\n <thead>\n <tr>\n <th>Category<\/th>\n <th>Duke's GitLab<\/th>\n <th>Public Hubs<\/th>\n <\/tr>\n <\/thead>\n<\/table>","options":{"dom":"t","order":[],"autoWidth":false,"orderClasses":false,"rowCallback":"function(row, data) {\nvar value=data[2]; $(this.api().cell(row, 2).node()).css({'background-color':'lightblue'});\nvar value=data[1]; $(this.api().cell(row, 1).node()).css({'font-weight':'bold','color':'silver','background-color':'navy'});\n}"}},"evals":["options.rowCallback"],"jsHooks":[]}</script> |
393 | 404 |
|
394 | 405 | Public Hubs are defined as GitHub, BitBucket, and the public GitLab. |
395 | 406 |
|
|
650 | 661 | "highlightLines": true, |
651 | 662 | "countIncrementalSlides": false |
652 | 663 | }); |
653 | | -if (window.HTMLWidgets) slideshow.on('afterShowSlide', function (slide) {window.dispatchEvent(new Event('resize'));}); |
654 | | -(function() {var d = document, s = d.createElement("style"), r = d.querySelector(".remark-slide-scaler"); if (!r) return; s.type = "text/css"; s.innerHTML = "@page {size: " + r.style.width + " " + r.style.height +"; }"; d.head.appendChild(s);})();</script> |
| 664 | +if (window.HTMLWidgets) slideshow.on('afterShowSlide', function (slide) { |
| 665 | + window.dispatchEvent(new Event('resize')); |
| 666 | +}); |
| 667 | +(function() { |
| 668 | + var d = document, s = d.createElement("style"), r = d.querySelector(".remark-slide-scaler"); |
| 669 | + if (!r) return; |
| 670 | + s.type = "text/css"; s.innerHTML = "@page {size: " + r.style.width + " " + r.style.height +"; }"; |
| 671 | + d.head.appendChild(s); |
| 672 | +})();</script> |
655 | 673 |
|
656 | | -<script type="text/x-mathjax-config"> |
657 | | -MathJax.Hub.Config({ |
658 | | - tex2jax: { |
659 | | - skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'] |
| 674 | +<script> |
| 675 | +(function() { |
| 676 | + var i, text, code, codes = document.getElementsByTagName('code'); |
| 677 | + for (i = 0; i < codes.length;) { |
| 678 | + code = codes[i]; |
| 679 | + if (code.parentNode.tagName !== 'PRE' && code.childElementCount === 0) { |
| 680 | + text = code.textContent; |
| 681 | + if (/^\\\((.|\s)+\\\)$/.test(text) || /^\\\[(.|\s)+\\\]$/.test(text) || |
| 682 | + /^\$\$(.|\s)+\$\$$/.test(text) || |
| 683 | + /^\\begin\{([^}]+)\}(.|\s)+\\end\{[^}]+\}$/.test(text)) { |
| 684 | + code.outerHTML = code.innerHTML; // remove <code></code> |
| 685 | + continue; |
| 686 | + } |
| 687 | + } |
| 688 | + i++; |
660 | 689 | } |
661 | | -}); |
| 690 | +})(); |
662 | 691 | </script> |
663 | 692 | <!-- dynamically load mathjax for compatibility with self-contained --> |
664 | 693 | <script> |
|
0 commit comments