1. The document provides instructions for using Git version control within RStudio, including installing necessary software, configuring Git, and connecting a local RStudio project to a remote GitHub repository.
2. The steps covered include initializing Git, making commits of code changes locally, and pushing commits to sync the local and remote repositories.
3. Connecting an existing RStudio project involves adding the GitHub remote URL and then pushing commits to upload code to the online repository.
Flash talk about « versions » a simple program to check version change in programs and let you know in your terminal. It was at sysadmin #8 in octobre 2018.
Git and github - Verson Control for the Modern DeveloperJohn Stevenson
An introduction to Git and Github, tools for distributed version control that give an easy to use and highly collaborative approach to version code and configuration.
Flash talk about « versions » a simple program to check version change in programs and let you know in your terminal. It was at sysadmin #8 in octobre 2018.
Git and github - Verson Control for the Modern DeveloperJohn Stevenson
An introduction to Git and Github, tools for distributed version control that give an easy to use and highly collaborative approach to version code and configuration.
Introduction to Git & GitHub.
Agenda:
- What’s a Version Control System?
- What the heck is Git?
- Some Git commands
- What’s about GitHub?
- Git in Action!
By far, the most widely used modern version control system in the world today is Git. Git is a mature, actively maintained open source project originally developed in 2005 by Linus Torvalds, the famous creator of the Linux operating system kernel. A staggering number of software projects rely on Git for version control, including commercial projects as well as open source. Developers who have worked with Git are well represented in the pool of available software development talent and it works well on a wide range of operating systems and IDEs (Integrated Development Environments).
https://www.atlassian.com/git/
Github - Git Training Slides: FoundationsLee Hanxue
Slide deck with detailed step breakdown that explains how git works, together with simple examples that you can try out yourself. Slides originated from http://teach.github.com/articles/course-slides/
Author: https://twitter.com/matthewmccull
The PokitDok data science team uses many components in the TinkerPop stack, along with the Titan graph database. Let it be known, though, that we’re a serious Python shop. As a team, we wanted to do data analytics and not have to context switch between all the languages that are required to stand up this graph database. There was a desire to continue to use Python syntax when defining graph schema using the management system, performing graph traversals, building recommendation systems and so on, but the TinkerPop and Titan stacks run on the JVM.
Our solution: connect the development environments with Jython to build out our own Python library for graph traversals. We’ve open sourced the work we've been doing to help engineers and data scientists use Python to work within TinkerPop and Titan from a Python state of mind.
In this talk, PokitDok’s Engineer #1 teams up with a Data Scientist to discuss the intricacies of our development environment, introduce our open sourced Gremlin-Python library, and explore a graph based recommendation system. We will step through the underpinnings of Gremlin-Python to create a system that ranks and recommends healthcare professionals.
Introduction to Git & GitHub.
Agenda:
- What’s a Version Control System?
- What the heck is Git?
- Some Git commands
- What’s about GitHub?
- Git in Action!
By far, the most widely used modern version control system in the world today is Git. Git is a mature, actively maintained open source project originally developed in 2005 by Linus Torvalds, the famous creator of the Linux operating system kernel. A staggering number of software projects rely on Git for version control, including commercial projects as well as open source. Developers who have worked with Git are well represented in the pool of available software development talent and it works well on a wide range of operating systems and IDEs (Integrated Development Environments).
https://www.atlassian.com/git/
Github - Git Training Slides: FoundationsLee Hanxue
Slide deck with detailed step breakdown that explains how git works, together with simple examples that you can try out yourself. Slides originated from http://teach.github.com/articles/course-slides/
Author: https://twitter.com/matthewmccull
The PokitDok data science team uses many components in the TinkerPop stack, along with the Titan graph database. Let it be known, though, that we’re a serious Python shop. As a team, we wanted to do data analytics and not have to context switch between all the languages that are required to stand up this graph database. There was a desire to continue to use Python syntax when defining graph schema using the management system, performing graph traversals, building recommendation systems and so on, but the TinkerPop and Titan stacks run on the JVM.
Our solution: connect the development environments with Jython to build out our own Python library for graph traversals. We’ve open sourced the work we've been doing to help engineers and data scientists use Python to work within TinkerPop and Titan from a Python state of mind.
In this talk, PokitDok’s Engineer #1 teams up with a Data Scientist to discuss the intricacies of our development environment, introduce our open sourced Gremlin-Python library, and explore a graph based recommendation system. We will step through the underpinnings of Gremlin-Python to create a system that ranks and recommends healthcare professionals.
Its presentation about Version Control from software engineering subject, also in this presentation I have discussed Git and Github its usage and configuration of Github in Dreamweaver, Android Studio, and visual studio and at the last part there is some commands of git and summary,
Git explained, for absolute beginners. How to setup Git in windows, configuring, basic git commands, working with Github, Team-work etc explained in details with a lots of screen-shots!
You can also download it from: https://dl.dropbox.com/s/3ph3mvt3pi2yt1r/Hello%2C%20Git%21.pptx?dl=1
Git Bash is a command line interface that allows you to interact with Git, a version control system that tracks changes in your code and lets you collaborate with other developers. Git Bash is based on a popular Unix shell called Bash, and it works on Windows operating systems. With Git Bash, you can create and manage Git repositories, stage and commit your code, push and pull from remote servers, create and merge branches, and much more. In this article, I will give you an introduction to Git Bash and show you how to use some basic commands. ¹²³
المصدر: محادثة مع Bing، 29/9/2023
(1) Git bash: Definition, commands, & getting started | Atlassian. https://www.atlassian.com/git/tutorials/git-bash.
(2) An introduction to Git: what it is, and how to use it - freeCodeCamp.org. https://www.freecodecamp.org/news/what-is-git-and-how-to-use-it-c341b049ae61/.
(3) Introduction to Git Bash: A Beginner's Guide to Using the Command Line .... https://marketsplash.com/tutorials/git/git-bash/.
(4) undefined. https://git-scm.com/book/en/v2/Getting-Started-Installing-Git.
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...John Andrews
SlideShare Description for "Chatty Kathy - UNC Bootcamp Final Project Presentation"
Title: Chatty Kathy: Enhancing Physical Activity Among Older Adults
Description:
Discover how Chatty Kathy, an innovative project developed at the UNC Bootcamp, aims to tackle the challenge of low physical activity among older adults. Our AI-driven solution uses peer interaction to boost and sustain exercise levels, significantly improving health outcomes. This presentation covers our problem statement, the rationale behind Chatty Kathy, synthetic data and persona creation, model performance metrics, a visual demonstration of the project, and potential future developments. Join us for an insightful Q&A session to explore the potential of this groundbreaking project.
Project Team: Jay Requarth, Jana Avery, John Andrews, Dr. Dick Davis II, Nee Buntoum, Nam Yeongjin & Mat Nicholas
Show drafts
volume_up
Empowering the Data Analytics Ecosystem: A Laser Focus on Value
The data analytics ecosystem thrives when every component functions at its peak, unlocking the true potential of data. Here's a laser focus on key areas for an empowered ecosystem:
1. Democratize Access, Not Data:
Granular Access Controls: Provide users with self-service tools tailored to their specific needs, preventing data overload and misuse.
Data Catalogs: Implement robust data catalogs for easy discovery and understanding of available data sources.
2. Foster Collaboration with Clear Roles:
Data Mesh Architecture: Break down data silos by creating a distributed data ownership model with clear ownership and responsibilities.
Collaborative Workspaces: Utilize interactive platforms where data scientists, analysts, and domain experts can work seamlessly together.
3. Leverage Advanced Analytics Strategically:
AI-powered Automation: Automate repetitive tasks like data cleaning and feature engineering, freeing up data talent for higher-level analysis.
Right-Tool Selection: Strategically choose the most effective advanced analytics techniques (e.g., AI, ML) based on specific business problems.
4. Prioritize Data Quality with Automation:
Automated Data Validation: Implement automated data quality checks to identify and rectify errors at the source, minimizing downstream issues.
Data Lineage Tracking: Track the flow of data throughout the ecosystem, ensuring transparency and facilitating root cause analysis for errors.
5. Cultivate a Data-Driven Mindset:
Metrics-Driven Performance Management: Align KPIs and performance metrics with data-driven insights to ensure actionable decision making.
Data Storytelling Workshops: Equip stakeholders with the skills to translate complex data findings into compelling narratives that drive action.
Benefits of a Precise Ecosystem:
Sharpened Focus: Precise access and clear roles ensure everyone works with the most relevant data, maximizing efficiency.
Actionable Insights: Strategic analytics and automated quality checks lead to more reliable and actionable data insights.
Continuous Improvement: Data-driven performance management fosters a culture of learning and continuous improvement.
Sustainable Growth: Empowered by data, organizations can make informed decisions to drive sustainable growth and innovation.
By focusing on these precise actions, organizations can create an empowered data analytics ecosystem that delivers real value by driving data-driven decisions and maximizing the return on their data investment.
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Subhajit Sahu
Abstract — Levelwise PageRank is an alternative method of PageRank computation which decomposes the input graph into a directed acyclic block-graph of strongly connected components, and processes them in topological order, one level at a time. This enables calculation for ranks in a distributed fashion without per-iteration communication, unlike the standard method where all vertices are processed in each iteration. It however comes with a precondition of the absence of dead ends in the input graph. Here, the native non-distributed performance of Levelwise PageRank was compared against Monolithic PageRank on a CPU as well as a GPU. To ensure a fair comparison, Monolithic PageRank was also performed on a graph where vertices were split by components. Results indicate that Levelwise PageRank is about as fast as Monolithic PageRank on the CPU, but quite a bit slower on the GPU. Slowdown on the GPU is likely caused by a large submission of small workloads, and expected to be non-issue when the computation is performed on massive graphs.
As Europe's leading economic powerhouse and the fourth-largest hashtag#economy globally, Germany stands at the forefront of innovation and industrial might. Renowned for its precision engineering and high-tech sectors, Germany's economic structure is heavily supported by a robust service industry, accounting for approximately 68% of its GDP. This economic clout and strategic geopolitical stance position Germany as a focal point in the global cyber threat landscape.
In the face of escalating global tensions, particularly those emanating from geopolitical disputes with nations like hashtag#Russia and hashtag#China, hashtag#Germany has witnessed a significant uptick in targeted cyber operations. Our analysis indicates a marked increase in hashtag#cyberattack sophistication aimed at critical infrastructure and key industrial sectors. These attacks range from ransomware campaigns to hashtag#AdvancedPersistentThreats (hashtag#APTs), threatening national security and business integrity.
🔑 Key findings include:
🔍 Increased frequency and complexity of cyber threats.
🔍 Escalation of state-sponsored and criminally motivated cyber operations.
🔍 Active dark web exchanges of malicious tools and tactics.
Our comprehensive report delves into these challenges, using a blend of open-source and proprietary data collection techniques. By monitoring activity on critical networks and analyzing attack patterns, our team provides a detailed overview of the threats facing German entities.
This report aims to equip stakeholders across public and private sectors with the knowledge to enhance their defensive strategies, reduce exposure to cyber risks, and reinforce Germany's resilience against cyber threats.
Techniques to optimize the pagerank algorithm usually fall in two categories. One is to try reducing the work per iteration, and the other is to try reducing the number of iterations. These goals are often at odds with one another. Skipping computation on vertices which have already converged has the potential to save iteration time. Skipping in-identical vertices, with the same in-links, helps reduce duplicate computations and thus could help reduce iteration time. Road networks often have chains which can be short-circuited before pagerank computation to improve performance. Final ranks of chain nodes can be easily calculated. This could reduce both the iteration time, and the number of iterations. If a graph has no dangling nodes, pagerank of each strongly connected component can be computed in topological order. This could help reduce the iteration time, no. of iterations, and also enable multi-iteration concurrency in pagerank computation. The combination of all of the above methods is the STICD algorithm. [sticd] For dynamic graphs, unchanged components whose ranks are unaffected can be skipped altogether.
Adjusting primitives for graph : SHORT REPORT / NOTESSubhajit Sahu
Graph algorithms, like PageRank Compressed Sparse Row (CSR) is an adjacency-list based graph representation that is
Multiply with different modes (map)
1. Performance of sequential execution based vs OpenMP based vector multiply.
2. Comparing various launch configs for CUDA based vector multiply.
Sum with different storage types (reduce)
1. Performance of vector element sum using float vs bfloat16 as the storage type.
Sum with different modes (reduce)
1. Performance of sequential execution based vs OpenMP based vector element sum.
2. Performance of memcpy vs in-place based CUDA based vector element sum.
3. Comparing various launch configs for CUDA based vector element sum (memcpy).
4. Comparing various launch configs for CUDA based vector element sum (in-place).
Sum with in-place strategies of CUDA mode (reduce)
1. Comparing various launch configs for CUDA based vector element sum (in-place).
1. Using Git within RStudio
Paulina Jedynak, PhD
github.com/paujedynak
Environmental Epidemiology lab
gricad-gitlab.univ-grenoble-alpes.fr
1
May 2021
2. Using Git within RStudio
This demo will be based on Windows OS and GitHub platform but do not worry – most of the procedures are
common for different systems and platforms
2
3. Using Git within RStudio
After this workshop you should be able to:
• Install all the necessary software to use Git version control with RStudio
• Configure Git to communicate with an online repository (e.g. GitHub)
• ‘Stage’, ‘commit’, ‘push’ and ‘pull’ your code to the online repository
More details on each step discussed here you will find at: happygitwithr.com
If you prefer less details but straight to the poing, try cfss.uchicago.edu/setup/git-with-rstudio
3
This demo will be based on Windows OS and GitHub platform but do not worry – most of the procedures are
common for different systems and platforms
6. 1. Initial installations
1. Install or upgrade RStudio
2. Register an online account where the ‘remote’ version of your repositories will be kept. As an
example I will use the GitHub platform but several other platforms exist
• github.com
• gitlab.com
• gricad-gitlab.univ-grenoble-alpes.fr (login with AGALAN credentials)
• …
NOTE: Git != GitHub
6
8. 1. Install or upgrade RStudio
2. Register an online account where the ‘remote’ version of your repositories will be kept. As an
example I will use the GitHub platform but several other platforms exist
3. Install Git software on your machine (accept the default setup options!)
git-scm.com/downloads
You can check if you already have Git by typing where.exe git (Windows)
or which git (Mac, Linux) in the shell
1. Initial installations
8
9. 1. Install or upgrade RStudio
2. Register an online account where the ‘remote’ version of your repositories will be kept. As an
example I will use the GitHub platform but several other platforms exist
3. Install Git software on your machine (accept the default setup options!)
git-scm.com/downloads
You can check if you already have Git by typing where.exe git (Windows)
or which git (Mac, Linux) in the shell
4. Open RStudio
1. Initial installations
9
11. 1. Initial installations
Make sure the RStudio “sees” Git (in Windows, after installation Git should be recognized automatically)
11
12. 1. Initial installations
Make sure the RStudio “sees” Git (in Windows, after installation Git should be recognized automatically)
If this field is empty you need to provide the
location of the git.exe file. To find it
type where.exe git (Windows)
or which git (Mac, Linux) in the shell
13. 1. Initial installations
Make sure the RStudio “sees” Git (in Windows, after installation Git should be recognized automatically)
If this field is empty you need to provide the
location of the git.exe file. To find it
type where.exe git (Windows)
or which git (Mac, Linux) in the shell
Restart/ reopen RStudio!!
15. 2. Introduce yourself to Git
This does not have to be your GitHub user name
This must be the email associated with GitHub account
16. 2. Introduce yourself to Git
You may check whether Git understood what you typed by using the command
git config --global –list (again in the shell)
17. 3. Connect to GitHub
1. Go to https://github.com and make sure you are logged in
2. Click green “New” button. Or, if you are on your own profile page, click first on “Repositories”, then click the
green “New” button
17
18. 3. Connect to GitHub
1. Go to https://github.com and make sure you are logged in
2. Click green “New” button. Or, if you are on your own profile page, click first on “Repositories”, then click the
green “New” button
18
19. 3. Connect to GitHub
1. Go to https://github.com and make sure you are logged in
2. Click green “New” button. Or, if you are on your own profile page, click first on “Repositories”, then click the
green “New” button
How to fill this in:
1. Repository name: e.g. test
1
19
20. 3. Connect to GitHub
1. Go to https://github.com and make sure you are logged in
2. Click green “New” button. Or, if you are on your own profile page, click first on “Repositories”, then click the
green “New” button
How to fill this in:
1. Repository name: e.g. test
2. Description: optional but useful 1
2
20
21. 3. Connect to GitHub
1. Go to https://github.com and make sure you are logged in
2. Click green “New” button. Or, if you are on your own profile page, click first on “Repositories”, then click the
green “New” button
How to fill this in:
1. Repository name: e.g. test
2. Description: optional but useful
3. Choose visibility: public or private*
1
2
3
*Up to 3 collaborators
21
22. 3. Connect to GitHub
1. Go to https://github.com and make sure you are logged in
2. Click green “New” button. Or, if you are on your own profile page, click first on “Repositories”, then click the
green “New” button
How to fill this in:
1. Repository name: e.g. test
2. Description: optional but useful
3. Choose visibility: public or private*
4. Optional: add README if needed;
add .gitignore file** with R template
1
2
3
4
*Up to 3 collaborators
**Enables ‘hiding’ some files from being
traced by Git 22
23. 3. Connect to GitHub
1. Go to https://github.com and make sure you are logged in
2. Click green “New” button. Or, if you are on your own profile page, click first on “Repositories”, then click the
green “New” button
How to fill this in:
1. Repository name: e.g. test
2. Description: optional but useful
3. Choose visibility: public or private*
4. Optional: add README if needed;
add .gitignore file** with R template
5. Click green button “Create repository”
1
2
3
4
*Up to 3 collaborators
**Enables ‘hiding’ some files from being
traced by Git 5 23
27. 1. Click the Code button
2. Copy the link from the HTTPS tab to your Clipboard
27
28. 1. Click the Code button
2. Copy the link from the HTTPS tab to your Clipboard
28
IF YOU CANNOT FIND THE ‘CODE’ BUTTON, DON’T PANIC!
It means you created an empty repository (without
README, .gitignore or any other file). As soon you add a file
to the repo (e.g. README), the button will appear
29. 4. Clone the repo to your local machine
Now you have 2 options depending if you are starting a new R Project or you already have an existing R Project
that you want to connect with Git
29
30. 4. Clone the repo to your local machine
Brand new R Project:
1. In RStudio >> File >> New Project…
2. Choose Version Control
3. Choose Git
4. Paste the link to your repository into
the Repository URL field (the Project
directory name will be filled
automatically)
5. Click Browse… to choose the location
where your new Project will be created
6. Click Create Project
30
31. 4. Clone the repo to your local machine
31
Brand new R Project:
1. In RStudio >> File >> New Project…
2. Choose Version Control
3. Choose Git
4. Paste the link to your repository into
the Repository URL field (the Project
directory name will be filled
automatically)
5. Click Browse… to choose the location
where your new Project will be created
6. Click Create Project
32. 4. Clone the repo to your local machine
You can commit, push and pull…
32
Brand new R Project:
1. In RStudio >> File >> New Project…
2. Choose Version Control
3. Choose Git
4. Paste the link to your repository into
the Repository URL field (the Project
directory name will be filled
automatically)
5. Click Browse… to choose the location
where your new Project will be created
6. Click Create Project
33. 5. Connect Git to an existing R project
Existing R Project:
1. Open an existing Project
33
34. Existing R Project:
1. Open an existing Project
2. Tools >> Version Control >> Project Setup…
3. Choose Git as Version control system
4. Accept the following prompts
5. Connect Git to an existing R project
34
35. At this stage your version control works only locally
(it is not connected with an online repository) –
you may want to keep it like this or you may want
to link it to the remote repository
5. Connect Git to an existing R project
35
Existing R Project:
1. Open an existing Project
2. Tools >> Version Control >> Project Setup…
3. Choose Git as Version control system
4. Accept the following prompts
36. Connect to an online repository:
1. Create a remote repository as explained
earlier in this presentation (3. Connect to
GitHub). IMPORTANT: repo name must
match your existing Project name
2. Copy the repo link to your Clipboard
5. Connect Git to an existing R project
36
37. Connect to an online repository:
1. Create a remote repository as explained
earlier in this presentation (3. Connect to
GitHub). IMPORTANT: repo name must
match your existing Project name
2. Copy the repo link to your Clipboard
3. Add remote URL to your existing Project
using shell by typing:
4. Check the remote URL using shell by typing:
5. Connect Git to an existing R project
37
git remote add origin https://github.com/username/reponame.git
where username is your GitHub username and reponame is your GitHub repository name
git remote -v
38. Connect to an online repository:
1. Create a remote repository as explained
earlier in this presentation (3. Connect to
GitHub). IMPORTANT: repo name must
match your existing Project name
2. Copy the repo link to your Clipboard
3. Add remote URL to your existing Project
using shell by typing:
4. Check the remote URL using shell by typing:
5. Connect Git to an existing R project
38
git remote -v
39. Connect to an online repository:
1. Create a remote repository as explained
earlier in this presentation (3. Connect to
GitHub). IMPORTANT: repo name must
match your existing Project name
2. Copy the repo link to your Clipboard
3. Add remote URL to your existing Project
using shell by typing:
4. Check the remote URL using shell by typing:
5. Connect Git to an existing R project
39
git remote -v
IF THIS FIELD IS EMPTY OR ‘PUSH’ AND ‘PULL’ BUTTONS ARE
GREYED OUT (INACTIVE), DON’T PANIC!
Restart / reopen RStudio. If the problem persists, make
some commit and make a push setting the upstream by
typing in the shell:
git push origin master -u
40. Connect to an online repository:
1. Create a remote repository as explained
earlier in this presentation (3. Connect to
GitHub). IMPORTANT: repo name must
match your existing Project name
2. Copy the repo link to your Clipboard
3. Add remote URL to your existing Project
using shell by typing:
4. Check the remote URL using shell by typing:
5. Connect Git to an existing R project
40
git remote -v
You can commit, push and pull…
41. 41
6. Commit, push and pull
MAKE A COMMIT every time you finish a valuable
chunk of work, probably many times a day
42. 42
6. Commit, push and pull
• All files within the Project are
‘observed’ by Git, unless added to
the .gitignore file
• If there are any changes in the
Project – new files created
(new_script.R), any SAVED changes
made to the content of existing
files (README.md) etc., Git will
keep notifying you and will let you
decide if to start tracking them
(new files) or commit changes
(modified files)
43. 43
6. Stage, commit, push and pull
Git informes you that new files appeared in the Project (? ? = ‘unknown’ status)
CREATING NEW FILES, MODYFYING EXISTING ONES
44. 44
6. Stage, commit, push and pull
Git informes you that new files appeared in the Project (? ? = ‘unknown’ status)
Git informes you that changes were made to a file (M = ‘modified’ status)
CREATING NEW FILES, MODYFYING EXISTING ONES
45. 45
6. Stage, commit, push and pull
Git informes you that new files appeared in the Project (? ? = ‘unknown’ status)
Git informes you that changes were made to a file (M = ‘modified’ status)
• By ticking files you stage them (it is a necessary step before a commit) so you let
Git know which files will be included in your next commit
• By staging a new file (new_script.R) you let Git know you want it to start tracking
this file (A = ‘adding for tracking’ status)
• By staging a modified file (README.md) you let Git know you want to capture the
file content modification
STAGING
CREATING NEW FILES, MODYFYING EXISTING ONES
46. 46
6. Stage, commit, push and pull
Git informes you that new files appeared in the Project (? ? = ‘unknown’ status)
Git informes you that changes were made to a file (M = ‘modified’ status)
• By ticking files you stage them (it is a necessary step before a commit) so you let
Git know which files will be included in your next commit
• By staging a new file (new_script.R) you let Git know you want it to start tracking
this file (A = ‘adding for tracking’ status)
• By staging a modified file (README.md) you let Git know you want to capture the
file content modification
• After you staged all the files, click ‘Commit’ button
STAGING
CREATING NEW FILES, MODYFYING EXISTING ONES
47. 47
6. Stage, commit, push and pull
COMMIT
• A new window pops-out where you need to
provide an informative description of the
commit (Commit message) so in the future
you can easily find the commit by name
• No need to include date in the commit, it is
automatically dated
48. 48
6. Stage, commit, push and pull
COMMIT
• A new window pops-out where you need to
provide an informative description of the
commit (Commit message) so in the future
you can easily find the commit by name
• No need to include date in the commit, it is
automatically dated
• Clicking on a staged file (README.md) we
can see the changes (‘diff’) made in the file
(deleted lines in red, modified/new lines in
green)
• Clicking ‘Commit’ button captures an image
of the code in a particular time point
49. 49
6. Stage, commit, push and pull
COMMIT
• A new window pops-out where you need to
provide an informative description of the
commit (Commit message) so in the future
you can easily find the commit by name
• No need to include date in the commit, it is
automatically dated
• Clicking on a staged file (README.md) we
can see the changes (‘diff’) made in the file
(deleted lines in red, modified/new lines in
green)
• Clicking ‘Commit’ button captures an image
of the code in a particular time point
50. 50
6. Stage, commit, push and pull
PUSH
• After the commit, the staged files disappear
51. 51
6. Stage, commit, push and pull
PUSH
• After the commit, the staged files disappear
• You are also informed that your local
repository is ahead of the remote one by
one commit (your local version is newer than
the online one by one commit)
• You do not need to push each time you make
a commit, you can do it e.g. at the end of the
day
52. 52
6. Stage, commit, push and pull
PUSH
• After the commit, the staged files disappear
• You are also informed that your local
repository is ahead of the remote one by
one commit (your local version is newer than
the online one by one commit)
• You do not need to push each time you make
a commit, you can do it e.g. at the end of the
day
• To push your code to the online repository,
click on the green ‘Push’ button
53. 53
6. Stage, commit, push and pull
PULL
• If you want to e.g. synchronize your work
between machines (e.g. your computer at work
and another one at home; your machine and
your colleague’s machine who works with you
on a project, etc.), on the machine where the
work is outdated, click the blue ‘Pull’ button
• Pulling will ‘download’ new versions of your
tracked files and replace/ merge with the old
ones
54. 54
6. Stage, commit, push and pull
PULL
• If you want to e.g. synchronize your work
between machines (e.g. your computer at work
and another one at home; your machine and
your colleague’s machine who works with you
on a project, etc.), on the machine where the
work is outdated, click the blue ‘Pull’ button
• Pulling will ‘download’ new versions of your
tracked files and replace/ merge with the old
ones
• Do not worry (too much) about overwriting
some important files – Git will inform you if
there are any conflicts
• If you work on several machines and do Push
and Pull frequently, get used to starting your
work by making a Pull (you will avoid conflicts)
58. 58
*revert != reset != checkout… (the most confusing part of Git)
The need to revert the changes in the code in a particular way will be specific for the working
environment (e.g., if you need to get the last working version in the matter of hours/minutes –
common in big scale production setups; if you work alone or with several developers of the
same code, etc.)
7. Reversing* a commit (or peeking to the history)
Undoing things: basic level git-scm.com/book/en/v2/Git-Basics-Undoing-Things
Undoing things: level pro git-scm.com/book/en/v2/Git-Tools-Reset-Demystified
59. 59
The most common scenarios when I go back in time:
1. Reversing the code to its version in the particular
point in the past
Happens very rarely (once per project and rather
towards its end, when the code is close to its final
version)
2. Peeking in previous versions of the code to retrieve
specific function or chunk of code
Happens frequently (several times per project, at any
development stage)
7. Reversing a commit (or peeking to the history)
60. 60
The most common scenarios when I go back in time:
2. Peeking in previous versions of the code to retrieve
specific function or chunk of code
Happens frequently (several times per project, at any
development stage) –> GoogleDocs version history
7. Reversing a commit (or peeking to the history)
61. 61
The most common scenarios when I go back in time:
7. Reversing a commit (or peeking to the history)
You may restore the old version of the
script, in the same form as it was in the
past (.R, .Rmd, .html…) and copy paste
the chunk of code or save the entire
script (but if you want to save the old file
and use it to replace the never files – do
not go there, reversing a commit is the
tool you need!)
62. 62
Summary
• Git is a great tool if you want to share work within projects (e.g. several persons committing to the same project – NO
MORE SENDING CODE BY EMAIL!!!)
• Different collaborators (or your different machines) have the same version of the code plus they have access to all the
changes made by any user (or by you in different time points)
• Ideally, when using Git, you should be consequent: make frequent commits that are named in an informative way and
contain logically linked chunks of work. At the beginning it may not be easy, but it pays off
• Using Git allows you to reverse an error/ retrieve deleted files or chunks of code relatively easily (the more disciplined
you are, the easier it becomes)
• The longer you work with Git, the less often you discover that all the files disappeared from your workspace and you
have no idea where they went. At the end, in the 90% of cases they reappear
63. Thank you for your attention
Paulina Jedynak, PhD
github.com/paujedynak
paulina.jedynak@gmail.com
Environmental Epidemiology lab
gricad-gitlab.univ-grenoble-alpes.fr
63
Editor's Notes
Git is an installable and executable software (like an R or RStudio) while GitHub is a website, an online repository, where information (e.g. code) can be stored. Git (software) can communicate with different online repositories (e.g. GitHub or GitLab) but these are independent tools.
Git is an installable and executable software (like an R or RStudio) while GitHub is a website, an online repository, where information (e.g. code) can be stored. Git (software) can communicate with different online repositories (e.g. GitHub or GitLab) but these are independent tools.
Git is an installable and executable software (like an R or RStudio) while GitHub is a website, an online repository, where information (e.g. code) can be stored. Git (software) can communicate with different online repositories (e.g. GitHub or GitLab) but these are independent tools.
Git is an installable and executable software (like an R or RStudio) while GitHub is a website, an online repository, where information (e.g. code) can be stored. Git (software) can communicate with different online repositories (e.g. GitHub or GitLab) but these are independent tools.
Git is an installable and executable software (like an R or RStudio) while GitHub is a website, an online repository, where information (e.g. code) can be stored. Git (software) can communicate with different online repositories (e.g. GitHub or GitLab) but these are independent tools.
This command may be useful if Git is installed but RStudio cannot find it (especially for other than Windows users).
This command may be useful if Git is installed but RStudio cannot find it (especially for other than Windows users).
This command may be useful if Git is installed but RStudio cannot find it (especially for other than Windows users).
This command may be useful if Git is installed but RStudio cannot find it (especially for other than Windows users).