首页 >>  正文

git常用命令详解

来源:baiyundou.net   日期:2024-09-25

作者 | 辛晓亮

出品 | CSDN(ID:CSDNnews)

几天前呼吁

如 Mark Russinovich 吐槽,开发者圈中关于 Git CLI 和 GUI 哪个更好用的争论是长期存在的,也有不少开发者会好奇最近疯狂吐槽的 Mark Russinovich 到底是谁?

怼天怼地的 Mark Russinovich 是谁?

1966 年,Mark Russinovich 出生于西班牙,父亲是一名放射科医生,母亲是与父亲同诊所的企业管理员。70 年代 Mark Russinovich 开始接触电脑,15 岁时,他给自己买了第一台电脑德州仪器TI-99/4A,那个时候他就能够对 ROM(只读存储器)进行逆向工程并为其编写程序。后来 Mark Russinovich 在卡内基·梅隆大学获得计算机工程博士学位,并开始做 Windows 相关的软件开发工作。

德州仪器TI-99/4A

90 年代后期,微软依靠 Windows 操作系统主宰科技界,从台式机到笔记本电脑、工作站、服务器都运行着 Windows。那个时候 Mark Russinovich 白天为一家小型软件公司开发软件,晚上与周末就在家里寻找 Windows NT 中的错误、缺陷和秘密,并且将这些信息发布到网络上,也因此经常激怒微软。Mark Russinovich 还对当时的 NT Workstation 和 NT Server 进行了逆向工程,并发现了微软人为改变市场使其以有利于自己的方式运作的行为,即微软可以强制所有网络服务使用更昂贵的操作系统,同时为其他任务销售更便宜的版本。Mark Russinovich 还为此开发了一款可以将 NT Workstation 转换为 NT Server 的工具,这也惹怒了微软,几天后他在参加微软活动的时候被拒绝进入大楼。

不过,Mark Russinovich 与微软的爱恨情仇也帮他打开了加入微软的大门,微软 Windows 的负责人 Jim Allchin 给 Mark Russinovich 提供了一份工作,Mark Russinovich 最初拒绝了,之后在运营 Windows Sysinternals 网站几年后加入微软,成为微软技术研究员(当时可以授予的最高荣誉之一)在微软,加入微软之前,Mark Russinovich 还与 Bryce Cogswell 共同创办了 Winternals Software 公司并一起开发了数十款流行的 Windows 管理和诊断实用程序,这其中就包括著名的系统工具 Sysinternals。

2006 年微软收购了 Winternals Software 公司,Mark Russinovich 也随即加入微软,帮助提升 Windows 的技术水平,现在 Mark Russinovich 在微软担任 Azure 云 CTO。Mark Russinovich 在微软开发了非常多的系统工具,比如 winobj、sysmon、diskmon 和进程监视器,同时他还著有被称为 BSD 红皮书的《Windows Internals》,慢慢地 Mark Russinovich 已经成为微软的象征。此外,Mark Russinovich 还精通逆向工程,震惊世界的索尼BMG光盘复制保护丑闻就是他发现的。

Git CLI vs GUI 哪个更好用?

回到 Russinovich 吐槽 Git 界面笨重难用,Git 是一个开源的分布式版本控制系统,关于开发者使用 Git 选择 CLI 还是 GUI,争论从未停止过,一度还存在鄙视链。主要原因是 Git 从一开始就是一个基于命令行的版本控制工具,之后又衍生出多个图形界面工具。

对此,其中喜欢图形化客户端的开发者认为,从 UI 的角度来看,Git 是比较糟糕的。GUI 看起来更加直观,不容易误操作,也不需要记各种命令,用来应付日常使用足够了,查看 Log 也更加方便。

另一部分开发者则认为,使用命令行进行 Git 操作简单方便,对于工程师来说只会用 GUI 是不专业的行为,而且目前为止也没有全功能的 GUI 软件,把 Git 作为工具,怎么好用怎么来并无问题,但在很多场景下,GUI 存在功能缺失。此外,命令行方式更加高效,对技术工作者而言,命令行的方式有助于开发者理解 Git 的运作原理,锻炼其解决问题的能力,虽然 GUI 的方式更简单快捷,但是越到后期双方差距越大。

最后,你在使用哪些 Git 工具,欢迎投票讨论。

参考链接:

https://en.wikipedia.org/wiki/Mark_Russinovich

https://www.wired.com/2014/05/mark-russinovich

— ","force_purephv":"0","gnid":"935cc4cab1ee88961","img_data":[{"flag":2,"img":[{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t0186957a1ca5352752_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t0186957a1ca5352752.gif","width":"640"},{"desc":"","height":"478","title":"","url":"https://p0.ssl.img.360kuai.com/t018b9c0d96445d319b.jpg","width":"1080"},{"desc":"","height":"452","title":"","url":"https://p0.ssl.img.360kuai.com/t01b2250981d3bc2092.jpg","width":"1080"}]}],"original":0,"pat":"zzc,art_src_1,fts0,sts0","powerby":"hbase","pub_time":1665472088000,"pure":"","rawurl":"http://zm.news.so.com/d5baee55dd9a88583520359339ddd9d5","redirect":0,"rptid":"2075d93d62587257","s":"t","src":"CSDN","tag":[{"clk":"ktechnology_1:微软","k":"微软","u":""},{"clk":"ktechnology_1:ows","k":"ows","u":""},{"clk":"ktechnology_1:德州仪器","k":"德州仪器","u":""}],"title":"“Git 是我用过最笨重的软件”!喷完 C++ 喷 Git,这位 Azure CTO 到底何许人也?

虞翠肃4263如何使用git命令进行版本回退 -
翟具宁18864987212 ______ 打Github For Windows 进入需要退项目主页History选要退某版本点击右侧roll back按钮 2 提示UNDO撤销操作代表已经功退某版本 3 直接命令行使用 git reset --hard 或者 git reset --hard HEAD^进行退

虞翠肃4263git的本地仓库和远程仓库是什么意思?常见的代码冲突怎么解决 -
翟具宁18864987212 ______ 本地仓库 就是你电脑上的一个仓库;远程仓库就是在公网服务器上的仓库.git离线提交的原理就是:你修改的文件,保存动作是存放在本地硬盘,提交到本地仓库,就是讲文件修改信息保存到git,git会记录文件历史版本.远程推送就可以将本地仓库修改的文件推送到远程仓库去,这里说的远程仓库可以是github,gitlab之类服务器上的仓库.相当于有多份代码分别放置在 你电脑 服务器 具体的可以百度.至于冲突解决,先弄清楚文件冲突原理,基本是同一行存在两个提交,而且内容不一样导致,只需要打开冲突文件,整理冲突标记,统一文件内容保存,然后更新文件状态为冲突已解决 即可.第一次回答,尽量有问题百度搜索.这样更锻炼解决问题能力.

虞翠肃4263git checkout 怎么撤销 -
翟具宁18864987212 ______ git checkout . #本地所有修改的.没有的提交的,都返回到原来的状态git stash #把所有没有提交的修改暂存到stash里面.可用git stash pop回复.git reset --hard HASH #返回到某个节点,不保留修改.git reset --soft HASH #返回到某个节点.

虞翠肃4263多人开发时使用 git,能使用“git add ”这个命令吗
翟具宁18864987212 ______ git是分布式开发模式,当客户端从服务器上Clone一个库下来时,保存了整个库的内容.每个客户端都可以执行add命令.add命令是仅对本地电脑上的库有用的.如果希望本地add的内容能够被其他用户看到,需要再执行commit和push命令.

虞翠肃4263githug怎么安装 通关攻略及命令详解
翟具宁18864987212 ______ 首先创建用户,然后加入管理员秘钥(也可以账号密码登录),然后创建GIT服务器端仓库,然后这个时候,客户端就可以通过git命令clone代码了.

虞翠肃4263git remote prune和git prune到底各做什么操作 -
翟具宁18864987212 ______ 这时候能够看到b1是stale的,使用 git remote prune origin 可以将其从本地版本库中去除.更简单的方法是使用这个命令,它在fetch之后删除掉没有与远程分支对应的本

虞翠肃4263哪些git config命令可以影响到本用户所有git操作 -
翟具宁18864987212 ______ 假定远端库名为 origin, 你要比较的本地分支为 test, 远端分支为 xxx # 获取远端库最新信息$ git fetch origin# 做diff$ git diff test origin/xxx

虞翠肃4263如何在linux 上用github -
翟具宁18864987212 ______ 如果你用的Centos系列的发行版的话,可以使用下面的命令安装: 1 [root@localhost ~]# yum install git -y

虞翠肃4263如何修改本地代码,并更新到github,及其他使用技巧 -
翟具宁18864987212 ______ 1、注册github账号.2、创建个人的github仓库,或者也可以进入个人中心去创建,还可以直接点击右上角的“”+“”添加,3、创建自己的Repository,4、新建完成后会进入类似于下面的页面,复制创建仓库的地址,5、打开本地git命令窗口或...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024