4/15/2024 0 Comments Linux git gui clients![]() ![]() You may ask, "why do you need a file based Database for an application which is just going to run some git commands within a repo?" Graphql cannot be used as such with node, so it is tied to express-graphql + express to utilize the handy routing features provided out of the box. In such scenarios, graphql came to the rescue resolving the usual "under fetching" and "over fetching" problems. In some modules, the server will run a bunch of git commands, but the front end will need the results from only a couple of them. This is because of its powerful querying capabilities and type safety. If it is node based application, then can any one imagine it without express (or hapi or your favorite ones)?įrom the beginning, I wanted to use graphql instead of REST. ![]() So those "custom linux commands piped to the git commands" I mentioned above, I removed those and refactored the code base to make it compatible with all platforms. As my initial plan was to make a linux only platform, I even piped (|) some linux specific commands to the vanilla git commands to format the data returned by the commands.Īfter the initial beta of the platform, I made a decision to remove the 'linux only' agenda, as the backend does nothing other than running a bunch of git commands which can be executed on any platform provided 'git' can be tapped in from the command line. For this option, I went with child_processĬhild_process is a simple to use option for executing system commands on the go in a single line. This way, I can make the server run only controlled git commands and the users can also open the scripts to make sure that the server is not running any spooky stuffs behind their backs. I initially looked for some suitable node libraries to work with git, but after some internal conflicts I planned to just execute git commands from node by tapping into the target system's command line. Both the front end and back end uses some notable dependencies which are laid out below. All it has to do is ,fetch some data from the server, manipulate it slightly and render some colorful UI components on the screen but the server on the other hand needs to do things like executing git commands, keeping track of the repos, listening to repo changes and a bunch of other things. The UI choice was simple and straight forward. This way, I can have a code base for both the UI and backend which can be tinkered by fellow JS developers. Of course, I went with Node JS for the backend. ![]() What better option is there to be a suitable couple for a react application, other than the one and only Node JS? This decision will take a sharp turn soon.įor a git UI client which needs to get changes from the target repo in real time, the frontend needs to be super dynamic and the only frontend web framework (or library, some say?) I am comfortable with is react. Yeah, I planned to build a web based UI client which should be sufficient for managing the local git repos and initially I planned to build it only for linux. When we think about an unified platform which can be accessed no matter what platform you are on, the first thing that pops atop your head is the web! This pushed me to work on a UI client which is compatible with linux servers. So there goes our chance for installing a full fledged tool like GitKraken and github desktop is not a thing for linux. Now, these are linux servers with no luxury of accessing the GUI directly and all we have is SSH access. There are git beginners in our team who were in dire need of a GUI client to manage the git repositories residing in the linux servers. We make a bunch of changes to the scripts on Friday and when we retouch the code on Monday, it was not that easy to check line by line code differences to find out what has changed. Our team uses git from the command line, but things started to get a bit tedious when we wanted to visualize the changes we made to the code base on a regular basis. In my workplace, my day to day job involves writing a bunch of bash scripts to automate certain aspects of our application hosted in a linux server and Node JS scripts also play an important role in these automation solutions. Later when I became comfortable with handling git operations from the command line, I kinda ditched both the UI clients. Before getting myself familiarized with git bash, I used to manage my repositories using github desktop and then I switched to GitKraken. I actively started using git since 2018 and I honestly say that it changed my life. Since 2015, I knew that there is this thing called 'git' but all I thought was that git is nothing but a sophisticated dropbox for saving your code to the cloud (boii, was I wrong?) Let me start this thread by confessing that I am not a git guru or anything. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |