Powered by md-Blog  文 - 篇  访客 -

Git 常用命令及用法速查


更新:2019-08-29 22:45:29  /  创建:2019-07-22 22:19:54  /  分类:Git和GitHub  / 
不要删除
参考文献:
《精通Git 第二版 (美)斯科特·查康 本·斯特劳布》
《Git版本控制管理 第2版(美)罗力格(美)麦卡洛著》

【注意】本文不包括分支、合并、远程操作命令,这些会在其它文中进行总结。

git 文件分类

  • 已追踪的
  • 未追踪的
  • 忽略的 .gitignore文件

git 追踪文件的三种状态

  • 已提交 committed → Git 仓库
  • 已修改 modified → 工作目录
  • 已暂存 staged → 暂存区

Debian 系安装

sudo apt-get install git

Arch 系安装

sudo pacman -S git / sudo yay -S git

Fedora 系安装

sudo yum install git

windows 安装

https://git-scm.com/download/win

mac 安装

https://git-scm.com/download/mac

升级

git clone git://git.kernel.org/pub/scm/git/git.git

git 查看版本号

git --version

初始化项目,假设在 git_demo 项目文件夹内操作。

git init

版本库的克隆 clone

git clone git_demo my_demo # 对本地项目进行克隆
git clone https://github.com/ycmbcd/md-Blog # 从GitHub上克隆项目

告诉 git 你是谁,如果设置单个项目的配置,省略 --global 即可。

git config --global user.name "ycmbcd"
git config --global user.email "ycmbcd@qq.com"

配置 git 默认文本编辑器为 vim

git config --global core.editor vim

添加文件到暂存区,将未追踪的文件转化成已追踪

git add index.html  # 添加 index.html 文件到暂存区中
git add . # 添加当前目录及子目录中的文件到暂存区中

取消暂存的文件

git reset HEAD [file]

撤销对文件的修改,将文件还原到上一个版本状态

git checkout -- [file]

追加提交,提交后发现漏掉几个文件

git commit --amend

查看工作区状态

git status # 完整模式
git status -s # 简短模式
     M README.md # 修改过文件,没放入暂存区
    MM now.html # 修改后放入了暂存区后又修改了
    A add.html    # 新加入到暂存区文件
    M  header.html # 修改过文件,并放入暂存区 
    ?? LICENSE # 新加文件未跟踪

查看版本库历史

git log

git 查看某个文件的所有历史记录,即使重命名也能找到哦。

git log index.html # 如果有重命名,重命名之前找不到
git log --follow index.html # 如果有重命名,重命名之前也能找到

第二次提交,无需 add 文件名。

git commit . commit -m "第二次提交"

长短-等同,以下两句意思一样。

git commit -m "hello git"
git commit --message="hello git"

添加暂存区+提交,两步合一

git commit index.html -m 'do sth'

跳过暂存区直接提交

git commit -a

查看差异,截取 git logID 的片段。

git  diff d38bdef061  f8ddbae1bde8a

git 删除文件

git rm index.html   # 当然这一步常在 IDE 编辑器中完成
git commit -m "删除了 index.html"

将误暂存的文件放回未暂存区(文件不会从硬盘删除)

git rm --cached data.sql # 将误加入的 data.sql 文件拉回未暂存区域

重命名文件,注意:顺序不要搞错,如果先 git rmmv,文件将先从硬盘删除掉。

mv index.html about.html # 终端重命名文件或者 IDE 中重命名
git rm index.html   # git 删一个
git add about.html  # git 加一个
git commit -m "重命名 index.html 为 about.html" # 别忘记提交哦

查看变量设置

git config -l

忽略文件 000.html

echo 000.html > .gitignore

忽略所有 .txt 文件

*.txt   # 忽略所有 .txt 文件
!/tpl/Readme.txt # 但是不忽略 /tpl/Readme.txt 这个文件

忽略规则列表

https://github.com/github/gitignore

遍历整个版本库,暂存所有修改的文件并提交(例如 add 了一堆文件,rm 了一堆文件,但是不想逐个地 git rm

git commit --all

git 文件查看及哈希值

git ls-files -s # 查看暂存区(stage)中的文件
git ls-files -d # 查看项目中被删除了的文件
git ls-files -m # 查看修改了的文件

git 重命名文件

git mv a.txt b.txt
不要删除

小站不易,感谢支持!