u/Agreeable_Prize_9718

gitool: A Git cli tool written in C

gitool: A Git cli tool written in C

Hi everyone,

I'm a CS student (Malaysian Chinese) currently learning C. I apologize if my grammar is wrong, my enligsh is really really bad.

I just finished reading C Programming Language: A Modern Approach (it took me about 2 months because I could only read this book during my semester break). I believe that the best way to truly learn any programming language is start building something real. To practice what I learned, I built gitool. Gitool is a command line interface tool to help you control your github repository like update file or delete directory.

Why did I build this?

  1. To practice C: Moving from textbook exercises to a project that can be helpful to people.
  2. I lowkey hate how Git handles things: As a Linux user, it always annoyed me how Git insists on creating .git directories everywhere and bloating my home directory with .gitconfig, especially when all I want to do is upload a single, specific file. (Honestly, I still don't fully get how everyone manages their dotfiles. Do you really git add your entire config directory just for one file or just create a lot of symbolic link ? I dont know, maybe I am a idiot).
  3. Is this tool already exists? I honestly don't know if this project even makes sense or if a much better alternative already exists out there. But hey, I really learn a lot than just reading.

A question for the community: Do you think we still need to learn code in future? I quite afraid get cooked by AI as a CS student.

Please roast my code! You don't have to help me, but I would really appreciate it if you could take a look at my repo. I'm posting this purely to level up my C skills and want to hear how you all think about this tool.

The development flows : gitool.c -> option.c -> command.c -> logger.c -> api.c -> list/upload/download/delete.c

GitHub Link: github/gitool

Thanks for your time, and looking forward to your roasts/feedback!

github.com