Git使用备忘

Git几个专有名词

  • Workspace: 工作区(工作目录)
  • Index/Stage: 暂存区(追踪待提交到版本库目录)
  • Repository: 仓库区(本地仓库保存快照)
  • Remote: 远程仓库

新建代码仓库

两种方式

  1. 新建本地仓库
# 当前目录新建一个Git版本库 
$ git init 

# 新建一个目录,将其初始化为Git版本库
$ git init [folder]
  1. 克隆一个远程仓库
# 克隆一个远端版本库和它的整个代码历史
$ git clone [url]
# 多数都采用git协议克隆

# 克隆到本地自定义一个项目名称
$ git clone [url] [project-name]

增加/删除文件

# 添加文件到暂存区  
$ git add [file1] [file2] ...

# 添加目录到暂存区 
$ git add [dir]

# 添加当前目录所有文件到暂存区(所有文件包括文件夹内的文件改动)
$ git add .

# 添加每个变化前,都会要求确认或者分次提交
$ git add -p 

# 删除工作区和暂存区文件 
$ git rm [file1] [file2]

# 停止追踪指定文件,但该文件会保留在工作区 
$ git rm --cached [file] 

# 改名文件,并且将这次操作放入暂存区
$ git mv [name1] [name2]
# 相当于工作区rename文件然后添加到暂存区 
$ mv [name1] [name2]
$ git add name2 

提交代码到本地版本库

# 提交暂存区到本地仓库区
$ git commit -m [message]

# 提交暂存区的指定文件到版本库
$ git commit [file1] [file2] ... -m [message] 

# 提交工作区自上次commit之后的变化,直接到版本库  
$ git commit -a 
# 相当于 
$ git add .
$ git commit -m [message]

# 提交时显示所有diff信息
$ git commit -v

# 使用一次新的commit,替代上一次的提交
# 如果代码没有任何变化,则用来改写上一次commit的提交信息 
$ git commit --amend -m [message]

# 重做上一次commit,并包括指定文件新变化
$ git commit --amend [file1] [file2] ... 

提交信息规范(未完成)