Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Task Git Additions

Fenrir ID: git/ad-nib

Task submission

Do not create any merge request! Just push all the branches to the remote repository.

Task description

The task sources are available here. Add this repository as a remote and fetch all branches.

Part 1

Switch to branch rebase and apply these changes:

  • Rename naples to napoli

  • Drop genova commit

  • Developers forgot to make script.sh executable in roma : fix it

  • Squash firenze and bologna into a single commit with torino message and firenze & bologna body

Part 2

Use supplementary branch to find the sources

Create branch ignore from the main branch in foreign.bundle. Add .gitignore file which:

  • Forbids to commit bin directory

  • Forbids to commit any file with extension .o except o.o in the project’s root directory

Important
Only one commit is allowed apart from the bundle’s commits.

Part 3

Create a git hook which validates commit messages: [␣DESCRIPTOR␣]␣DESCRIPTION

  • DESCRIPTOR is one of ADD, FIX, DEL

  • DESCRIPTION is a sequence of latin symbols and digits

  • is a whitespace symbol

To use the hook create an additional script install which installs the hook. The solution must be committed to hooks branch.

Part 4

Create a public fork of this repository. The fork must be located in your user’s namespace. The fork name must be koshej.

Add the fork as a submodule into your project (branch submodules), it must be cloned to koshchei directory.

Add this repository as another submodule. It must be cloned to oak/hare directory.

Create a script setup.sh which downloads the data from all the repositories and updates all the dependencies (e.g. one of submodules might be outdated by default). The solution must be committed to submodules branch.

Caution
Use http links instead of ssh ones!

Part 5

Use supplementary branch to find the sources

Add file logo.png. Store it in LFS. To prevent changes, lock it. The solution must be committed to lfs branch.

Questions

  • What happens to commits when an interactive rebase is used?

  • How to use/extract files from another branch? (Try to use commands from the previous task)

  • What happens when you try to merge branches that have no common ancestor?

  • Which sequence of commands does GitLab/GitHub use to create a fork?

  • Provide a scenario when the committer and author differ without any explicit modifications.

The project is licensed under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

© 2026-present Iwan Kalinin <koefic.cien@gmail.com>

About

Devtools. Task git (additions)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

Contributors

Languages