使用 Git 可以有多种方式,可以使用命令行,也可以使用 GUI 图形界面。但我推荐使用命令行:(除了 diff 和 merge)

  1. 只有在命令行下才能执行所有的 Git 命令;大多数 GUI 只实现了一些常用功能
  2. GUI 软件各有各的不同,但命令行操作都是一致得。
  3. 并且所有人都会安装 Git 命令行,跨平台代价更小,价值更高

Git 设计之初,除了一些核心功能之外,其余的全部是脚本语言开发,每个功能都作为一个独立的命令,如 git-clone。这就使得 Git 有庞大的命令集,使用习惯也与其他版本控制工具不同。随着使用人数和贡献者增多,才使得 Git 用户界面变的友好、将 100 对个独立命令封装成一个 git 命令。

安装配置

安装自己查

基础配置

  1. # 自报门户
  2. $ git config --global user.name 'xxx'
  3. $ git config --global user.email 'xxx@163.com'
  4. # 为了避免不同平台换行符可能带来的问题;统一配置
  5. $git config --global core.autocrlf input
  6. # 设置命令别名
  7. $ git config --global alias.st status

配置 SSH

  1. # 生成秘钥对
  2. # -t: 指定加密方式为 rsa
  3. # -C: 指定秘钥标识
  4. # -f: 以指定的文件名生成秘钥对文件
  5. $ ssh-keygen -t rsa -C xxx@163.com
  6. # 测试是否生效
  7. $ ssh -T git@github.com
  8. Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
  9. # 首次连接会警告
  10. The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
  11. RSA key fingerprint is xx.xx.xx.xx.xx.
  12. Are you sure you want to continue connecting (yes/no)?

命令行 终端

window 推荐尽量使用 gitBash 或者 cmder 等可以使用 Unix 风格命令的环境。

  1. Git 源于 linux。如 git rm , git mv 等用法与 linux 相似,可以互相借鉴用法。
  2. 后台的服务器大部分使用 linux。减少不必要的学习成本
  1. # 切换目录 change directory
  2. $ cd <path>
  3. # 查看当前所在目录 Print Working Directory
  4. $ pwd
  5. # 列出当前目录下的文件 list
  6. $ ls
  7. # 新建文件
  8. $ touch
  9. # 创建文件夹
  10. $ mkdir
  11. # 拷贝文件
  12. $ cp
  13. # 移动文件
  14. $ mv
  15. # 删除文件
  16. $ rm

有的命令行界面中会显示当前所在的分支:为 master
image.png

GUI 软件 - 图形界面

自带的 gitk (终端输入 gitk)

window 下有小乌龟(Tortoise、有 SVN 版有 GIT 版)
跨平台的有 sourceTree、smartGit
编辑器集成。如 vscode,webstorm 自带图形界面。

到目前为止,我觉得小乌龟的 版本对比好用;webstorm 文件对比,处理冲突好用。
(其他功能我也没用过 ☺)

webstorm

查看文件变更对比,处理冲突文件操作友好,可选择是否比较 空白字符、高亮显示到单词的差异、对比文件变化折叠无变化的区域
当类似格式造成的冲突时

博客:使用 WebStorm 操作 Git

VsCode

安装插件 GitLens
可以分开显示暂存文件的变化和工作区的变化
简单的冲突使用 VSCode 比较友好
对于格式问题造成的大量冲突,操作简单(得先把本地版本格式化,或者 把传入的版本格式化)
块单独暂存

SourceTree

跨平台
可以选择行、块单独暂存操作

块单独暂存
image.png

TortoiseGit 小乌龟

图形化的版本对比、文件对比

VIM 编辑器

git 默认编辑器就是 vim 编辑器,如 执行 git commit 不指定 -m 参数,进入。
如 linux 下默认编辑器就是 vim 编辑器。

image.png

vi 是 Unix Like 系统内建文本编辑器。其他编辑器则不一定存在。目前用的较多的是 vim 编辑器,他比 vi 更强大,具有程序编辑的能力,方便程序设计。

vim 提供一个区分模式的用户界面,也就是键盘上的任意组合键产生的结果可能都不一样,这取决于当前所处的模式(mode)。在其他编辑器中安装 vim 插件后,vim 的快捷键可能与编辑器本身的快捷键冲突。

vim 编辑器有许多模式,常用有三种模式:

  1. 普通模式: esc 进入
  2. 插入模式:在普通模式下 i - insert 插入
  3. 命令模式:在普通模式下 : 进入

在插入模式中,编辑完成信息后执行 esc -> :wq (进入普通模式,切换到命令模式,执行 write 写入并 quit 退出)。