用 Git 一定要用命令行吗?用命令行一定高贵吗?

 我来答
小鱼AIG
2016-12-31 · TA获得超过634个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:30.2万
展开全部


用git不一定要用命令行,用命令行不一定高贵,但是能提高效率呀。


附加一点小技巧,MAC下切换到zsh,打造有git提示的美化shell,提高效率:

git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

chsh -s /bin/zsh


但这都不是重点,git也好iTerm也好,这都是工具呀,没有高不高贵可言,关键是你借助他产出了什么。工具不是重点,作品才是啊。你敢说画图工具画出的作品一定比Photoshop产出的差?


我是一个低俗的人,但我的音乐绝不低俗。——莫扎特。


我觉得程序员就该使用命令行,熟记以下快捷键,将极大的提高你的命令行操作效率。

编辑命令

  • Ctrl + a :移到命令行首

  • Ctrl + e :移到命令行尾

  • Ctrl + f :按字符前移(右向)

  • Ctrl + b :按字符后移(左向)

  • Alt + f :按单词前移(右向)

  • Alt + b :按单词后移(左向)

  • Ctrl + xx:在命令行首和光标之间移动

  • Ctrl + u :从光标处删除至命令行首

  • Ctrl + k :从光标处删除至命令行尾

  • Ctrl + w :从光标处删除至字首

  • Alt + d :从光标处删除至字尾

  • Ctrl + d :删除光标处的字符

  • Ctrl + h :删除光标前的字符

  • Ctrl + y :粘贴至光标后

  • Alt + c :从光标处更改为首字母大写的单词

  • Alt + u :从光标处更改为全部大写的单词

  • Alt + l :从光标处更改为全部小写的单词

  • Ctrl + t :交换光标处和之前的字符

  • Alt + t :交换光标处和之前的单词

  • Alt + Backspace:与 Ctrl + w 相同类似,分隔符有些差别重新执行命令

  • Ctrl + r:逆向搜索命令历史

  • Ctrl + g:从历史搜索模式退出

  • Ctrl + p:历史中的上一条命令

  • Ctrl + n:历史中的下一条命令

  • Alt + .:使用上一条命令的最后一个参数

姑苏墨翎f6
2017-01-03 · 超过11用户采纳过TA的回答
知道答主
回答量:27
采纳率:83%
帮助的人:14万
展开全部


    Git 是一个分布式版本控制系统,保存的是文件的完整快照,而不是差异变化或者文件补丁。

    保存每一次变化文件的完整内容, Git 每一次提交都是对项目文件的一个完整拷贝,因此你可以完全恢复到以前的任一个提交而不会发生任何区别。如果文件没有变化,它只会保存一个指向上一个版本的文件的指针,即,对于一个特定版本的文件, Git 只会保存一个副本,但可以有多个指向该文件的指针。

未变化的文件只保存上一个版本的指针。

    Git 工程有三个工作区域:工作目录,暂存区域,以及本地仓库。工作目录是你当前进行工作的区域;暂存区域是你运行git add命令后文件保存的区域,也是下次提交将要保存的文件;本地仓库就是版本库,记录了你工程某次提交的完整状态和内容,这意味着你的数据永远不会丢失。

    Git基于SHA-1 校验和,是一套内容寻址文件系统。Git 将文件的 SHA-1 校验和作为指针,目的都是为了唯一区分不同的对象。其中有三种模型:文件(blob)对象,树(tree)对象,提交(commit)对象。blob 对象保存的仅仅是文件的内容,tree 对象更像是操作系统中的文件夹,它可以保存blob对象和tree 对象。commit 对象的格式很简单:指明了该时间点项目快照的顶层tree对象、作者 /提交者信息(从 Git 设置的 user.name和 user.email 中获得)以及当前时间戳、一个空行,上一次的提交对象的 ID 以及提交注释信息。

    Git 鼓励在工作流程中频繁使用分支与合并,哪怕一天之内进行许多次都没有关系。因为 Git 分支非常轻量级,不像其他的版本控制,创建分支意味着要把项目完整的拷贝一份,而 Git 创建分支是在瞬间完成的,而与你工程的复杂程度无关。

    Git 的默认分支是 master ,存储在.git\refs\heads\master文件中。

    Git 的默认分支是 master ,存储在.git\refs\heads\master文件中,假设你在 master 分支运行git branch dev创建了一个名字为dev的分支,那么 git 所做的实际操作是:

    1. 修改.git文件下的HEAD文件为ref: refs/heads/<分支名称>。

    2. 按照分支指向的提交记录将工作区的文件恢复至一模一样。

    HEAD文件指向当前分支的最后一次提交

    总结

    1. Git 保存文件的完整内容,不保存差量变化。

    2. Git 以储键值对(key-value)的方式保存文件。

    3. 每一个文件,相同文件的不同版本,都有一个唯一的 40 位的 SHA-1 校验和与之对应。

    4. SHA-1 校验和是文件的指针, Git 依靠它来区分文件。

    5. 每一个文件都会在 Git 的版本库里生成blob对象来保存。

    6. 对于没有变化的文件, Git 只会保留上一个版本的指针。

    7. Git 实际上是通过维持复杂的文件树来实现版本控制的。

    8. 使用 Git 的工作流程基本就是就是文件在三个工作区域之间的流动。

    9. 应该大量使用分支进行团队协作。

    10. 分支只是对提交对象的一个引用。

最后我还是强烈推荐命令行,如果喜欢高亮的配置一下Item2,如果非常喜欢GUI的那就推荐一下SourceTree吧,UI比较好看,还是大厂Atlassian出品。




已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式