git init
初始化一个仓库
复制git init # 将当前目录初始化为一个仓库
git init . # 同上
git init xx # 将xx初始化为一个仓库,如果xx不创建,会创建文件夹xx,如果xx不是文件夹,会提示创建文件夹失败
git init --bare xx # 初始化一个裸库,一般放在服务器上
初始化一个仓库后,会在该目录下生成一个.git的文件夹,git的所有版本管理的文件就放在.git中,.git中有一个重要的文件是config,这是这个仓库的配置,它的配置会优先于系统配置文件~/.gitconfig。
git status
查看当前仓库的状态
- 查看是否修改了文件,修改了哪些文件
- 查看是否增加了文件,增加了哪些文件
- 查看是否删除了文件,删除了哪些文件
git diff
查看修改和删除文件的异同
git add
添加指定文件到暂存区
复制git add [file1] [file2] ... # 可以跟多个文件或文件夹
git add . # 可以跟当前文件夹
git rm
将指定的文件从暂存区中删除,并且会删除工作区文件(谨慎使用)
复制git rm [file1] [file2] ... # 可以跟多个文件或文件夹
如果不想删除工作区文件,需要添加--cached选项。
复制git rm --cached [file1] [file2] ... # 可以跟多个文件或文件夹
git reset(谨慎使用)
重置暂存区
复制git reset [file] # 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset --hard [file] # 重置暂存区与工作区的指定文件
git reset --hard HEAD # 将修改的所有的修改重置
git commit
提交暂存区到仓库区,一定要跟-m "填写详细提交的日志说明"
复制git commit -m "添加了聊天界面的滚动条" # 填写详细提交的日志说明
git commit -v # 提交时显示所有diff信息
git commit
的应用
复制# 提交所有修改的文件
git commit -a -m "日志说明"
# 提交所有修改的文件追加到最近一次提交
git commit -C HEAD -a --amend
# 提交暂存区的文件追加到最近一次提交
git commit -C HEAD --amend
# 修改最近一次修改的日志
git commit --amend -m "修正后的日志说明"
git log
显示历史版本
复制git log # 查看所有的版本
git log -5 # 查看最近的5个版本
git log xx # 查看某个文件夹或者文件的版本
git log --author=yy # 查看某一个人修改的版本
git show
显示某次提交的内容变化
复制git show # 查看最近提交一次的内容变化
git show -5 # 查看最近提交5次的内容变化
git show -5 file # 查看最近提交5次的某个文件的内容变化
git show -5 dir # 查看最近提交5次的某个文件夹的内容变化
git show --stat
显示某次提交的修改了哪些文件
复制git show --stat # 查看最近提交一次修改了哪些文件
git show --stat -5 # 查看最近提交5次修改了哪些文件