[{"data":1,"prerenderedAt":792},["ShallowReactive",2],{"project-35371469":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":48,"post_text":49,"what":50,"said":82,"maker_in_thread":219,"shape":232,"grid":236,"attempts":754,"same_week":755,"maker_shows":43,"maker_hidden":784,"reader_version":785,"card":786},"35371469","Gut","An easy-to-use CLI for Git","title","Show HN: Gut – An easy-to-use CLI for Git","https:\u002F\u002Fgut-cli.dev","gut-cli.dev","julien040",1680178736,2023,314,181,135,3109,5,"legend","dev_tools","git cli","cli",[21,24,25,26],"git wrapper","git porcelain","version control","debated",-0.064,{"positive":30,"neutral":31,"mixed":32,"critical":33},26,15,4,32,77,{"idea":36,"design":39,"privacy":41,"docs":44,"execution":46},{"positive":37,"critical":38},13,19,{"positive":40,"critical":40},8,{"positive":42,"critical":43},0,3,{"positive":45,"critical":42},1,{"positive":42,"critical":47},2,[18,42,18,42,42,45,42,42,42,43,42,42,18,45,18,45,45,45,43,45,18,18,47,43,47,45,43,32,43,18,43,45,45,18,45,18,45,43,42,45],"Hi Hacker news !\n\nI’m Julien and I built an alternative CLI for Git : gut.\n\nEven if I haven’t been coding for a long time (I’m in the first year studying computer science), I’ve always found git to be frustrating. \nThe command naming is inconsistent and git lets you easily shoot yourself in the foot.\n\nI made gut, another git porcelain, to solve these issues.\n\nIt provides a consistent naming of command. To do so, syntax is based on subcommands. For example, to delete a branch, run gut branch rm rather than git branch -d, same to delete a remote (gut remote rm) and so on.\n\nGut also prevents you ",{"problem":51,"audience":57,"pricing":65,"motivation":66,"time_to_build":65,"stack":70,"openness":79,"stage":80,"team_size":81},{"value":52,"source":53,"evidence":54},"Git's command naming is inconsistent and easy to misuse","maker",[55],{"id":56},"post",{"value":58,"source":53,"evidence":59},"Git beginners and students who find git's CLI frustrating",[60,61],{"id":56},{"id":62,"by":63,"text":64},"35372717","iraldir","Pretty awesome. Been using git for 10 years and I trully think its CLI is terrible. It's unintuitive, scary, and opaque. I'll give it a go. Pretty cool for a first year student,…",null,{"value":67,"source":53,"evidence":68},"Git's interface is frustrating and error-prone",[69],{"id":56},[71],{"value":72,"source":73,"evidence":74},"Go","commenter",[75],{"id":76,"by":77,"text":78},"35378340","1vuio0pswjnm7","https:\u002F\u002Fgithub.com\u002Fjulien040\u002Fgut\u002Fblob\u002Fmain\u002Fsrc\u002Ftelemetry\u002Ftelemetry.go In that file we find a URL: https:\u002F\u002Fapi-events.gut-cli.dev\u002Fv1 \u003C-- If data about users is collected here, is…","open_source","launched","solo",{"praise":83,"objections":114,"requests":149,"questions":178,"alternatives":193},[84,92,103],{"value":85,"source":73,"evidence":86},"Consistent subcommand naming and safety defaults",[87,91],{"id":88,"by":89,"text":90},"35373421","yjftsjthsd-h","> It provides a consistent naming of command. Very nice. > Gut also prevents you from shooting yourself. Excellent. > Finally, git was made when GitHub and others didn’t existed…",{"id":62,"by":63,"text":64},{"value":93,"source":73,"evidence":94},"Clean website and documentation",[95,99],{"id":96,"by":97,"text":98},"35375270","kmarc","Regardless of the aim of the particular tool, I just want to say that the visual quality of the web page, documentation, and the quality of the content is excellent and I wish…",{"id":100,"by":101,"text":102},"35374747","replwoacause","Will give this a try. I'm a git noob and am intimidated by git, so I'll take a simple interface any day. Also, beautiful web page design.",{"value":104,"source":73,"evidence":105},"Useful for beginners and students",[106,110],{"id":107,"by":108,"text":109},"35372305","ryukoposting","Maybe it's just morning, or maybe I'm a luddite, or both, but my knee-jerk reaction to this was \"why does anyone need this? Just learn git.\" But then I saw the \"explain\" command,…",{"id":111,"by":112,"text":113},"35371630","bin_bash","I really like this. I think it takes a beginner to create this too—I know I wouldn't be capable of doing it since I'm just too used to git's terrible UX.",[115,120,135,142],{"value":116,"source":73,"evidence":117},"Opt-out telemetry and unclear data collection",[118,119],{"id":88,"by":89,"text":90},{"id":76,"by":77,"text":78},{"value":121,"source":73,"evidence":122},"Existing git CLIs or GitHub tools make this unnecessary",[123,127,131],{"id":124,"by":125,"text":126},"35372654","systems","Git alternative command line interfaces just make no sense 1. If you want to do something advanced, it will be a lot easier to find help online using regular\u002Foriginal git…",{"id":128,"by":129,"text":130},"35371810","prepend","I like that you worked on this but the git cli is already easy to use to be productive. I use the same 5 commands over and over and am happy with that. And Ive met so many people…",{"id":132,"by":133,"text":134},"35372236","kickette","Is git a problem that needs solving? It’s not that difficult to learn\u002Flookup commands.",{"value":136,"source":73,"evidence":137},"Secrets could be committed by gut save",[138],{"id":139,"by":140,"text":141},"35373548","8organicbits","Secrets management seems like a concern. It's really hard for developers to keep credentials and keys out of git. It looks like `gut save` adds anything that not already in…",{"value":143,"source":73,"evidence":144},"Name collides with other gut projects",[145],{"id":146,"by":147,"text":148},"35372184","BlackLotus89","I'm starting to get confused with all the git clients\u002Fwrapper out there I first thought you would be https:\u002F\u002Fgithub.com\u002Fsdslabs\u002Fgut\u002F or maybe https:\u002F\u002Fgithub.com\u002Ftillberg\u002Fgut or…",[150,157,164,171],{"value":151,"source":73,"evidence":152},"Add gut stash",[153],{"id":154,"by":155,"text":156},"35376331","airstrike","I feel `gut stash` is sorely missing from the list of commands. It's probably my most used command when iterating on a few ideas to see what works best",{"value":158,"source":73,"evidence":159},"Show underlying git commands being run",[160],{"id":161,"by":162,"text":163},"35371759","pil0u","Congratulations on the launch Julien! My history with git and GitHub is indeed chaotic. It took multiple steps and being explained with different approaches for me to finally…",{"value":165,"source":73,"evidence":166},"Conventional commits support",[167],{"id":168,"by":169,"text":170},"35376562","maxloh","Can you add support for conventional commit[0]? It seems to be a more popular choice than gitmoji. [0]: https:\u002F\u002Fwww.conventionalcommits.org\u002Fen\u002Fv1.0.0\u002F",{"value":172,"source":73,"evidence":173},"Move branch operations under gut branch",[174],{"id":175,"by":176,"text":177},"35372001","mhalle","Looks interesting, thanks for writing and posting. I would suggest you go further and package all the branch related operations as subcommands of \"gut branch\". For instance, \"gut…",[179,186],{"value":180,"source":73,"evidence":181},"What does consistent naming mean relative to git",[182],{"id":183,"by":184,"text":185},"35371774","ar9av","How do you define \"consistent\"? Consistent with what? Because at the moment it looks like it's using completely other terminology than the VCS I am used to.",{"value":187,"source":73,"evidence":188},"How rebases and forced pushes are handled",[189],{"id":190,"by":191,"text":192},"35375084","nidnogg","I know you're trying to avoid footguns - but how do you handle workflows where up-to-date rebases are required? Several repos I've been in ask for commits to be rebased to the…",[194,201,208,212],{"value":195,"source":73,"evidence":196},"Gitless",[197],{"id":198,"by":199,"text":200},"35374413","relyks","There is a similar project, Gitless: https:\u002F\u002Fgitless.com\u002F A maintained fork is here: https:\u002F\u002Fgithub.com\u002Fgoldstar611\u002Fgitless (I use it)",{"value":202,"source":73,"evidence":203},"bit CLI",[204],{"id":205,"by":206,"text":207},"35375152","chriswalz","This looks very similar to bit CLI - https:\u002F\u002Fgithub.com\u002Fchriswalz\u002Fbit",{"value":209,"source":73,"evidence":210},"Magit",[211],{"id":124,"by":125,"text":126},{"value":213,"source":73,"evidence":214},"Lazygit and other git wrappers",[215],{"id":216,"by":217,"text":218},"35377102","nrvn","First off, congratulations on entering the Computer Science! Second, I am not sure what is a bigger joke here, the project itself and the OP's innocuous and cute self-promotion…",{"comments":220,"answered":221,"key":222},25,6,[223,226,229],{"id":224,"text":225},"35371809","Thank you! It's a great idea. For now, you can run \"gut explain \u003Ccommand>\" to get the git equivalent. But it would be better to really show what's going on.",{"id":227,"text":228},"35372192","Thank you for pointing this out. \"gut branch ls\" is an alias of \"gut branch\", and to prevent unwanted branch creation, a confirmation prompt appears when a new branch is…",{"id":230,"text":231},"35374761","To switch to a commit, run \"git goto \u003Ccommit Hash>\". However, you cannot switch a tag. I should move this switch command under the branch command. Additionally, it is a good idea…",{"commenters":233,"max_depth":234,"maker_replies":220,"first_comment_mins":37,"lifespan_hours":235},129,9,177,[237,239,243,246,249,252,255,258,261,264,266,269,272,275,278,281,285,288,290,293,296,299,302,304,308,311,314,317,320,322,324,326,329,332,335,338,341,343,346,349,351,353,357,360,363,366,369,372,374,377,379,382,385,388,391,393,396,399,403,406,408,411,414,417,420,421,423,424,426,429,430,432,435,438,441,445,447,450,453,455,458,462,464,467,470,472,474,476,479,480,482,485,487,488,491,494,496,498,501,503,505,507,510,513,515,518,521,524,527,531,533,535,538,540,542,546,548,550,555,559,561,563,567,570,574,578,579,581,582,584,586,590,594,598,602,607,610,612,613,615,619,623,627,631,635,639,641,645,649,653,657,662,666,670,674,678,680,684,688,692,695,698,702,704,708,712,716,718,720,724,726,728,731,734,736,738,740,742,746,748,751],[107,42,18,238,108,42],"project\u002Fpositive\u002Fidea",[240,42,42,241,242,42],"35372394","commenter\u002Fneutral\u002Fnone","matt_s",[244,42,42,241,245,42],"35372738","empyrrhicist",[247,42,42,241,248,42],"35372876","bachmeier",[250,42,42,241,251,42],"35373578","Xelynega",[253,42,42,241,254,42],"35374535","badrequest",[256,42,42,241,257,42],"35381132","scubbo",[259,42,42,241,260,42],"35380998","olyjohn",[262,42,42,241,263,42],"35392640","nuancebydefault",[265,42,18,238,263,42],"35392591",[267,42,18,238,268,42],"35372507","stronglikedan",[270,42,42,241,271,42],"35372712","jonfw",[273,42,42,241,274,42],"35373090","zikduruqe",[276,42,42,241,277,42],"35373104","dahart",[279,42,42,241,280,42],"35372942","noufalibrahim",[282,42,42,283,284,42],"35373204","other\u002Fneutral\u002Fnone","atuladhar",[286,42,42,283,287,42],"35373218","Cyphase",[289,42,42,283,280,42],"35374993",[291,42,42,283,292,42],"35374933","dieselgate",[294,42,42,241,295,42],"35373232","joshmanders",[297,42,42,241,298,42],"35377646","euroderf",[300,42,42,283,301,42],"35375285","hdjjhhvvhga",[303,42,42,283,280,42],"35376475",[305,42,45,306,307,42],"35378404","project\u002Fcritical\u002Fdesign","tharkun__",[309,42,45,306,310,42],"35378641","throwbadubadu",[312,42,42,241,313,42],"35380015","actionfromafar",[315,42,43,316,307,42],"35380306","project\u002Fmixed\u002Fdesign",[318,42,42,241,319,42],"35385936","cxr",[321,42,42,241,307,42],"35391797",[323,42,42,241,319,42],"35394589",[325,42,42,241,307,42],"35395750",[327,42,42,241,328,42],"35389423","LordDragonfang",[330,42,42,241,331,42],"35380233","dizhn",[333,42,42,283,334,42],"35380285","Connor_Creegan1",[336,42,42,241,337,42],"35374922","kodah",[339,42,42,241,340,42],"35378310","hangonhn",[342,42,42,241,337,42],"35378779",[344,42,42,241,345,42],"35381401","osigurdson",[347,42,42,241,348,42],"35399261","quickthrower2",[350,42,42,241,108,42],"35404356",[352,42,42,241,337,42],"35407731",[354,42,43,355,356,42],"35375693","project\u002Fneutral\u002Fdesign","globular-toast",[358,42,42,283,359,42],"35376168","FreeFlyFall",[361,42,42,283,362,42],"35375900","hardwaregeek",[364,42,42,241,365,42],"35376375","adql",[367,42,42,241,368,42],"35378075","0x457",[370,42,42,241,371,42],"35396990","NathanOsullivan",[373,42,42,241,368,42],"35474666",[375,42,42,241,376,42],"35378294","matheusmoreira",[378,42,42,241,362,42],"35379493",[380,42,42,241,381,42],"35384209","F-W-M",[383,42,42,283,384,42],"35377959","markussss",[386,42,42,283,387,42],"35379674","wlonkly",[389,42,42,283,390,42],"35380875","IIsi50MHz",[392,42,42,241,365,42],"35376029",[394,42,42,241,395,42],"35376538","michaelmior",[397,42,42,241,398,42],"35380265","zem",[400,42,18,401,402,42],"35391562","maker\u002Fpositive\u002Fidea","jsonjason",[404,42,42,241,405,42],"35400512","lttlrck",[407,45,43,316,277,42],"35372990",[409,45,45,306,410,42],"35373072","hn_20591249",[412,45,42,241,413,42],"35375589","mynameisvlad",[415,45,42,241,416,42],"35376177","renewiltord",[418,45,42,241,419,42],"35378736","kerblang",[161,47,18,238,162,42],[224,47,42,422,11,45],"maker\u002Fneutral\u002Fnone",[175,43,43,355,176,42],[227,43,42,425,11,45],"maker\u002Fneutral\u002Fdesign",[427,43,43,355,428,42],"35374611","memco",[230,43,42,425,11,45],[124,32,45,431,125,42],"project\u002Fcritical\u002Fidea",[433,32,42,283,434,42],"35372929","iudqnolq",[436,32,45,431,437,42],"35373350","mdgrech23",[439,32,42,283,440,42],"35374526","thfuran",[442,32,43,443,444,42],"35373817","project\u002Fneutral\u002Fidea","stef25",[446,32,45,431,125,42],"35374036",[448,32,45,431,449,42],"35375773","IshKebab",[451,32,42,283,452,42],"35383733","scns",[139,18,45,454,140,42],"project\u002Fcritical\u002Fprivacy",[456,18,42,457,11,45],"35373811","maker\u002Fneutral\u002Fprivacy",[459,18,42,460,461,42],"35374691","other\u002Fneutral\u002Fprivacy","danenania",[463,18,42,460,140,42],"35374799",[465,18,42,460,466,42],"35412863","playingalong",[468,221,18,238,469,42],"35375951","5evOX5hTZ9mYa9E",[146,471,45,306,147,42],7,[473,471,42,425,11,45],"35372264",[475,471,43,355,147,42],"35373209",[477,471,42,283,478,42],"35372397","mr_mitm",[88,40,45,454,89,42],[481,40,42,457,11,45],"35373514",[483,40,43,484,89,42],"35373637","project\u002Fneutral\u002Fprivacy",[486,40,42,457,11,45],"35374295",[62,234,18,238,63,42],[489,234,42,490,11,45],"35372882","maker\u002Fpositive\u002Fnone",[96,492,18,493,97,42],10,"project\u002Fpositive\u002Fdocs",[198,495,42,283,199,42],11,[497,495,42,401,11,45],"35374466",[499,495,42,283,500,42],"35374962","martinvonz",[111,502,18,238,112,42],12,[190,37,43,504,191,42],"project\u002Fmixed\u002Fexecution",[506,37,42,457,11,45],"35375409",[508,37,43,484,509,42],"35376905","wadadadad",[511,37,42,512,11,45],"35377062","maker\u002Fneutral\u002Fdocs",[128,514,45,431,129,42],14,[516,514,18,238,517,42],"35371902","zztop44",[519,514,42,520,11,45],"35371988","maker\u002Fneutral\u002Fidea",[522,514,42,241,523,42],"35372094","nicoburns",[525,31,45,306,526,42],"35372002","L3viathan",[528,529,45,306,530,42],"35372303",16,"LorenDB",[532,529,42,425,11,45],"35372376",[534,529,43,355,140,42],"35373006",[536,529,43,355,537,42],"35374599","xtreme",[539,529,42,425,11,45],"35375006",[76,541,45,454,77,42],17,[543,541,42,544,545,42],"35378988","commenter\u002Fneutral\u002Fprivacy","dcow",[547,541,42,457,11,45],"35379208",[549,541,42,544,545,42],"35381018",[551,552,18,553,554,42],"35377207",18,"project\u002Fpositive\u002Fdesign","rendall",[556,38,45,557,558,42],"35372883","project\u002Fcritical\u002Fexecution","pech0rin",[100,560,18,553,101,42],20,[562,560,42,490,11,45],"35375115",[564,565,45,431,566,42],"35375533",21,"ainar-g",[568,569,42,422,11,45],"35443577",22,[571,572,18,238,573,42],"35380790",23,"nchudleigh",[575,576,18,553,577,42],"35377605",24,"0xbadcafebee",[154,220,45,557,155,42],[580,220,42,422,11,45],"35376400",[205,30,45,431,206,42],[583,30,42,443,11,45],"35375313",[585,30,18,553,206,42],"35382475",[587,588,42,283,589,42],"35381259",27,"digitalsanctum",[591,592,18,238,593,42],"35371683",28,"tambourine_man",[595,596,18,238,597,42],"35377233",29,"psd1",[599,600,42,283,601,42],"35372536",30,"agumonkey",[603,604,43,605,606,42],"35377082",31,"project\u002Fmixed\u002Fidea","user-",[608,604,42,241,609,42],"35377108","fsckboy",[611,604,45,431,606,42],"35382909",[168,33,43,443,169,42],[614,33,42,422,11,45],"35376630",[616,617,18,553,618,42],"35373124",33,"psygn89",[620,621,45,431,622,42],"35373106",34,"JustSomeNobody",[624,625,43,443,626,42],"35411328",35,"Aperocky",[628,629,45,306,630,42],"35373174",36,"phailhaus",[632,633,43,443,634,42],"35372148",37,"Nezteb",[636,637,45,306,638,42],"35372637",38,"revscat",[640,637,42,425,11,45],"35375164",[642,643,45,431,644,42],"35375925",39,"lamontcg",[646,647,45,431,648,42],"35377556",40,"gigatexal",[650,651,18,553,652,42],"35373000",41,"NayamAmarshe",[654,655,42,283,656,42],"35373117",42,"ocimbote",[658,659,18,660,661,42],"35375988",43,"project\u002Fpositive\u002Fnone","quijoteuniv",[663,664,18,660,665,42],"35372772",44,"meremortals",[667,668,18,660,669,42],"35375628",45,"djaouen",[671,672,45,431,673,42],"35376214",46,"eviks",[675,676,45,431,677,42],"35372552",47,"wseqyrku",[679,676,42,422,11,45],"35372952",[681,682,45,431,683,42],"35373319",48,"amar-laksh",[685,686,18,553,687,42],"35375811",49,"dutzi",[689,690,18,660,691,42],"35377398",50,"eddywebs",[693,694,18,553,687,42],"35375799",51,[696,697,42,283,365,42],"35375910",52,[699,700,18,238,701,42],"35376747",53,"ravenstine",[132,703,45,431,133,42],54,[705,703,42,706,707,42],"35372262","commenter\u002Fneutral\u002Fidea","tptacek",[709,710,45,431,711,42],"35372663",55,"nextlevelwizard",[713,714,45,431,715,42],"35378924",56,"12345hn6789",[216,717,45,431,217,42],57,[719,717,42,422,11,45],"35379332",[721,722,43,443,723,42],"35374577",58,"johnea",[183,725,43,443,184,42],59,[727,725,42,422,11,45],"35371878",[729,725,42,241,730,42],"35372190","codetrotter",[732,725,42,241,733,42],"35373373","JasonFruit",[735,725,42,241,730,42],"35374182",[737,725,42,283,11,45],"35375673",[739,725,42,283,730,42],"35376044",[741,725,43,443,707,42],"35372269",[743,744,45,431,745,42],"35372241",60,"lampshades",[747,744,42,241,630,42],"35373291",[749,744,42,241,750,42],"35374897","KingMob",[752,744,42,283,753,42],"35376749","gareth5851",[],[756,761,766,770,775,780],{"id":757,"name":758,"points":759,"category":760},"35419771","Unknown Pleasures",661,"creative",{"id":762,"name":763,"points":764,"category":765},"35370284","StratusGFX",483,"games",{"id":767,"name":768,"points":769,"category":20},"35440552","e2b",369,{"id":771,"name":772,"points":773,"category":774},"35387160","CoScreen",350,"productivity",{"id":776,"name":777,"points":778,"category":779},"35447288","Cheetah",301,"ai",{"id":781,"name":782,"points":783,"category":20},"35427343","Hocus",291,false,"v2",{"id":787,"name":5,"line":6,"ai":784,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":788,"top":18,"kw":789,"maker":11,"domain":10,"tier":19,"attempts":42,"strip":790,"url":9,"mix":791,"praise":85,"objection":116,"sub":21},35371469,-0.06,[21,24,25,26],"5050010003005151113155232134353115151301",[30,31,32,33],1794036633277]