Git介绍和常用命令
Git框架
SVN是集中式版本控制系统,而Git是分布式版本控制系统。
Git划分了工作区、暂存区、本地仓库和远程仓库四个区。在本地环境下,文件在三种状态之间流转:
- 已修改(Modified) - 工作区,修改的文件
- 已暂存(Staged) - 暂存区, git add但是未commit的文件
- 已提交(Committed) - 本地仓库,git commit的文件
.gitignore文件
Git常用命令
Git全局配置
git config --global user.name <username> git config --global user.email <email> 查看配置 git config --list
创建Git仓库
git init (在当前路径创建.git文件夹,保存Git仓信息)
克隆Git仓库
git clone [url]
查看Git仓库状态
git status Changes to be committed 已暂存尚未提交 Changes not staged for commit 已跟踪的文件,修改后尚未暂存 Untracked files 尚未跟踪的文件
添加文件到Git仓库
git add <file>
git add . (添加所有文件到暂存器)
提交修改
git commit - m "commit message" (把暂存区的文件提交到本地Git仓库) git commit -a (跳过暂存区,直接把文件提交到本地Git仓库)
从Git仓库移除文件
git rm <file> (从暂存区移除,commit之后移出Git仓库)
移动文件(重命名)
git mv <file> <newfile>
比较差异
git diff <file> (查看尚未暂存文件的修改)
git diff --cached/--staged (查看已暂存的文件和上次提交时的快照之间的差异)
查看历史记录
git log
git log --pretty=oneline
查看某次修改内容
git show <commit hash index>
撤销操作
git reset HEAD <file> (仅将git add添加到暂存区的文件移出暂存区,不会回退修改内容)
回退修改
git checkout -- <file>
回退到某一次的修改
回退到N次修改之前 git reset --hard HEAD~<n> 回退到某一个commit id git reset --hard commit_id
清除untracked文件和目录
清除untracked文件 git clean -f 清除ubtracked目录和文件 git clean -df
查看历史命令
git reflog
分支操作
查看分支
git branch
创建分支
git branch <name>
切换分支
git checkout <name>
创建+切换分支
git checkout -b <name>
合并某分支修改到当前分支
git merge <name>
删除分支
git branch -d <name>