使用Git进行版本控制有一段时间了,下面对其常用操作进行一个总结,总结不是全方面的,而是包含最常用的命令以及一些常识性的说明,方便日后快速查询

Git 常用命令

以下是风车车平时学习过程中使用频率最高的一些Git命令:

  • $ touch index.html 在当前目录下创建一个index.html文件
  • $ mkdir css 在当前目录下创建一个css文件夹
  • $ cd .. 返回上一层目录
  • $ cd js 进入目录js
  • $ pwd 显示当前所在的目录
  • $ git clone git@github.com:YourUserName/xxx.git 克隆远程仓库到本地仓库
  • $ git clone -b assas git@github.com:YourUserName/xxx.git 克隆远程仓库的不同分支到本地仓库
  • $ git add index.html 向暂存区中添加文件index.html
  • $ git add . 向暂存区中添加所有文件
  • $ git commit -m "本次commit的描述信息" 将暂存区中的文件实际保存到仓库的历史记录中
  • $ git push -u origin master 推送到远程仓库master分支
  • $ git status 查看仓库的状态
  • $ git log 查看提交日志(commit的日志)
  • $ git diff 查看工作树和暂存区的区别(只有add过的文件才能看见区别)
  • $ git diff HEAD 查看工作树和最新提交(commit)的差别。commit之前运行该命令是一个好习惯
  • $ git branch 查看分支一览表
  • $ git branch -b feature-A 基于master创建一个分支feature-A,并切换到分支feature-A
  • $ git checkout master 切换回分支master(可在已有的分支间来回的切换)
  • $ no next tag解决办法 出现no next tag ,此时按 q + enter 即可退出
  • $ ssh-keygen -t rsa -C "your_email@youremail.com" 在新的电脑上使用git时,需要从新生成秘钥对
  • 查看本地文件id_rsa.pub或者使用命令$ cat ~/.ssh/id_rsa.pub查看公钥。以便在github上新增一个公钥
  • 完成以后,验证下这个key是不是正常工作:$ ssh -T git@github.com
  • $ git remote add origin git@github.com:YourUserName/xxx.git 将本地仓库关联到远程仓库(push时就会push到该远程仓库)
  • 出错信息:fatal: remote origin already exists. 解决办法:先输入 $ git remote rm origin
  • 在别人电脑上使用git时,有时提交push时显示别人的名称以及email,修改方法:
    $ git config --global user.name "Your Name"
    $ git config --global user.email you@example.com

    Git Base 命令行窗口模式

  • 命令模式: 接受、执行 vi & vim 操作命令的模式,是打开Git Base的默认模式,在该模式下可以允许上述提到的各种命令
  • 编辑模式: 对打开的文件内容进行 增、删、改 操作的模式
  • pic
    进入编辑模式
  • 在命令模式下通过 $ vi inin.txt 打开init.txt文件,即可查看该文件的内容(此时还不能修改文件,需要键入i or insert进入插入编辑模式)
  • pic
    查看文件模式
  • pic
    插入编辑模式
  • 在插入编辑模式下,按 ESC 将退出插入编辑模式,进入查看文件模式(该模式可输入命令)
  • 在查看模式下输入 ZZ 或者 :wq 将保存修改(写入操作)并退出vi( :w 命令只写入文件,不会退出vi)
  • 在查看模式下,键入 :q! 回车后将放弃修改并退出vi
  • 在查看模式下,键入 :e! 回车后将放弃所有文件修改,但不退出 vi,即回退到文件打开后最后一次保存操作的状态,继续进行文件操作:按下 ESC 键进入查看模式,键入 :e! ,回车后回到命令模式。
  • 以上为在Git里面修改文件的相关操作即:打开文件、修改文件、保存文件、退出修改。用多了熟悉以上的常用命令已经可以完成大部分工作了。

    Git Base 窗口常识性说明

  • Untracked files: 表示未跟踪的文件,也就是没有执行add操作的文件
  • pic
    未跟踪文件
  • Changes to be committed: 表示等待加入仓库历史记录的文件,也就是执行了 add 操作,而没有执行 commit 命令的文件(在每次 commit 之前 git status 是一个好习惯,可以看见当前工作环境中文件的状态)
  • pic
    文件状态
  • pic
    文件状态
  • pic
    文件状态
  • pic
    文件状态
  • pic
    文件状态