Skip to content

Submission project Github microcredential #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 36 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
8ac57d7
start project with first version of concepts on git and github
ditjacobs Mar 17, 2025
5d8dcd3
resolve titles images in concepts
ditjacobs Mar 17, 2025
894ef86
resolve double images and ignore them in repo
ditjacobs Mar 17, 2025
9685d27
remove last image that was forgotten before and restore concept file …
ditjacobs Mar 17, 2025
b9210f3
create all md files with cheat sheet, best practices and examples
ditjacobs Mar 17, 2025
7ce8695
update gitignore
ddebeer Mar 20, 2025
55e334b
second update gitignore
ddebeer Mar 20, 2025
d888bd9
implemented new folder structure + all md files in doc-folder
ddebeer Mar 20, 2025
ff42007
changed CheatSheet to cheat-sheet
ddebeer Mar 20, 2025
ed4b7e1
deleted CheatSheet.md (replacement was already added)
ddebeer Mar 20, 2025
d3f82b9
cheat sheet update
ddebeer Mar 20, 2025
30382c3
added git reflog show to cheat sheet
ddebeer Mar 20, 2025
ce4d5c5
add readme
ddebeer Mar 20, 2025
bfd2223
readme readability changes
ddebeer Mar 20, 2025
79dd80d
second attempt at making the folder structure nice in readme
ddebeer Mar 20, 2025
71d9734
third attempt at making the folder structure nice in readme
ddebeer Mar 20, 2025
515041d
fourth attempt at making the folder structure nice in readme
ddebeer Mar 20, 2025
9e8540d
second fourth attempt at making the folder structure nice in readme
ddebeer Mar 20, 2025
a2de854
Revert "third attempt at making the folder structure nice in readme"
ddebeer Mar 20, 2025
7d10b6d
final version of README. For now.
ddebeer Mar 20, 2025
18c6cff
resolve naming of images and ignore all images in the folder images
ditjacobs Mar 24, 2025
3fe7067
image folder pushed to github to include images in markdown file
ditjacobs Mar 24, 2025
6d1f18c
added list of best practices
ditjacobs Mar 24, 2025
e7fb5b7
changed to include the images
ditjacobs Mar 24, 2025
593321a
added some examples
ditjacobs Mar 24, 2025
ef3c5ca
Revert "added some examples"
ditjacobs Mar 24, 2025
b60e92c
Reapply "added some examples"
ditjacobs Mar 24, 2025
e900ca5
Create LICENSE
ditjacobs Mar 24, 2025
c65067e
Merge branch 'DJ_examples'
ditjacobs Mar 24, 2025
30f7106
change heading in examples
ditjacobs Mar 24, 2025
0181d9b
merging with upstream mean
ddebeer Mar 24, 2025
c207f85
removing Cheat-Sheet.md
ddebeer Mar 24, 2025
344f0e2
edit to examples: use text-supported file types for writing manuscripts
ddebeer Mar 24, 2025
1b76ee6
updated folder structure
ddebeer Mar 24, 2025
55ae132
added extra explanation on paper example and an extra example
ditjacobs Mar 25, 2025
cd5c34c
resolve merging conflict
ditjacobs Mar 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.Rproj.user
*.Rproj
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

81 changes: 32 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,32 @@
# Micro-credentials Project

If you found this repository and is not registered in [our micro-credential]() please read more in the last topic.

You should **fork this repository** and in collaboration with a colleague that is also part of the micro-credential course. You develop the project together.
The project is simple, and consists of creating a repository for documenting concepts, best practices, examples and a cheat-sheet on using Git & GitHub.

Your repository must contain a **folder structure, a README file, a gitignore file, a license**. All files must be developed in markdown (MD), you can find more information about [MD here](https://www.markdownguide.org/cheat-sheet/) and about [Liascript](https://liascript.github.io/), a MD dialect. You can add images and printscreens if you want.

<span style="color:mediumBlue"> **Think about and inform yourself via internet resources about a useful folder structure in the repository, and cite your sources (2,3, as you see fit)**.</span>


Define the your collaboration strategy considering:
----------------------------------------------------

1. Both should work in different branches

a. A minimum of 3 branches must be available (main, partner1 and partner2), if necessary more branches can be created.

b. The delivered project should be the final merged version.

c. You can merge directly or using branch pull request if you want someone to review.

2. A minimum of 10 commits per person must be seen in the history.

3. You need to have at least two solved conflicts in the history, one by each person.

4. You need to revert at least on commit.

5. Include examples in your documents, you can decide where and how this fits better.

6. Search for other Git commands, that were not introduced in the course, choose one or more that you agree could be useful in your work and include in the documentation.

7. You must have at least one tag in your project.

8. Review and communicate with each other using GitHub-issues.

9. Work as much as possible using command line.

Delivery
-----------

Once with the final version you must <span style="color:mediumBlue">make a pull request</span> to this repository.


**Micro-credential |** Reproducible Data Analysis: an Essential Capability in Modern Science
-------------------------------------------------------------------------------------------------

This project is part the first evaluation of the micro-credetial that is offered by [VIB](https://vib.be/en#/) and [UGent](https://www.ugent.be/en) with the aim to improve data analysis reproducbility in science. A micro-credential is like a mini-diploma that you have followed a course and learnd a new skill that is valuable for your carrear. If you are interested to register you can find more detais in the [UGent registration page](https://studiekiezer.ugent.be/2025/micro-credential-reproducible-data-analysis-an-essential-capability-in-modern-science-en).
# README

This repository is made as an assignment for the UGent/VIB course "Reproducible Data Analysis".
The repository must contain the following files

- [`cheat-sheet.md`](./doc/cheat-sheet.md) a file with useful git commands
- [`best-practices.md`](./doc/best-practices.md) a file with some best practices using Git and GitHub
- [`concepts-git-github.md`](./doc/best-practices.md) a file important concepts of Git and GitHub explained
- [`examples.md`](./doc/examples.m) a file in which some examples are illustrated


The folder structure was inspired by [this webpage](https://coderefinery.github.io/reproducible-research/organizing-projects/) and
[this webpage](https://medium.com/code-factory-berlin/github-repository-structure-best-practices-248e6effc405).

The folder structure can be visualized as follows:

```
├── Data \
│ ├── processed-data \
│ └── raw-data \
├── doc \
│ ├── best-practices.md \
│ ├── cheat-sheet.md \
│ ├── concepts-git-github.MD \
│ └── examples.md \
│ └── images \
├── figures \
├── README.md \
└── LICENSE \
├── src \
└── tests \
```
10 changes: 10 additions & 0 deletions doc/best-practices.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

- Always save the files before commiting
- When commiting, always include a meaningful message. This should be clarify how was the issue addressed i.e. specify the changes/updates, why was it changed, effects due to change, limitations of the change (if not entirely final version)
- Keep the timeline as clear as possible
- include a README file with general description about the project and instructions
- Always make sure that there is only one .git repo in your folder.
- when collaborating, make sure that you always synchronize first with `git pull` and `git push` once you have made the required changes
- when you give the branch a name, it is interesting to add your initials so it is clear that you are working on it
- Always close all the files when moving between branches
-
102 changes: 102 additions & 0 deletions doc/cheat-sheet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Git Commands Cheat Sheet


## Check documentation

- `git <command> --help` => see the documentation for a git command.


## Git Configuration

- `git config --global --list` => check global configurations
- `git config --global user.name "<your name>"` => set user name
- `git config --global user.email "<your email>"` => set user email


## Git Workflow

- `git status` => check the status of the files in the current branch
- `git add <files/folders>` => stage files/folders of choice
- `git add --all` => stage all files/folders in the repository
- `git add .` => stage all files/folders in the repository
- `git restore --staged "<file>` => remove file from the staging area



- `git commit -m "<message>` => commit the staged files/folders with a message
- `git commit` => commit the staged files/folders with, a text
editor will open for a multiline comment

## Check versions and changes

- `git log` => get a list of all the commits in the current branch
- `git log <file name>` => get a list of all the commits for a specific file in the current branch
- `git log --abrev-commit` => get a list of all the commits with an abbreviated commit references
- `git log -n 3` => get a list of the last three commits

- `git reflog show` => view an ordered list of the commits that HEAD has pointed to

- `git diff <old commit> <new commit>` => create diff between two commits
- `git show <old commit> <new commit>` => shows the two file next to each other between two commits


## Connect with remote repository

- `git remote add origin [email protected]:ddebeer/<repository name>.git`
=> "make a bridge" between local and remote repository (using ssh)
- `git push --set-upstream origin main` => first push: to create a branch upstream (on the remote repository)
- `git push -u origin main` => push form origin (local repository) the branch main
- `git push` => send the latest version of the commit history to the remote repository


## reverting and restoring

- `git revert <commit ID>` => creates a new commit that is the same as the chosen one


## Collaborating

- `git clone <ssh remote>` => creates a local repositor, creates "the bridge" and pulls the complete project (commit history)


## Tagging

- `HEAD` is the most recent commit, hence the HEAD changes with every new commit
- `git tag <name>` => give the current commit a name of choice: a "tag"
- `git tag <name>` => give the current commit a name of choice: a "tag"
- `git tag <name> <commit ID>` => give the commit of choice a name.
- `git push --tags` => push all the tags to the remote repository
- `git tag -d <name>` => delete the tag BUT not on github, should be deleted manually.


## Branching

- `git branch <branch name>` => creates a new branch with a chosen name
- `git chekcout <branch name>` => jumps to the chosen branch, new commits are
added to that branch.
- `git chekcout HEAD` => jumps to the most recent commit

- `git branch -l` => list the local branches
- `git branch -a` => list all branches, local and remote
- `git branch -b <new branch>` => create a new branch and jump to it immediately.


- `git push --set-upstream origin <branch name>` => push new branch and create a corresponding branch remote
- `git push --al` => push all commits of all local branches

- `git chekcout <commit ID>` => jumps to the chosen commit (i.e., travel in time)
- `git switch -c <new branch>` => create a new branch after traveling to a commit (in the path).

- `git log --graph --all` => give a visual overview of all the branches


## merging

- `git merge <branch names>` => tries to merge the (HEAD of the) chosen branch with
the (HEAD of the) currently active branch. If merging
automatically is not possible, conflicts will need
to be resolved and commited.

- `git branch -d <branch name>` => delete a branch


Loading