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>

参考资料

Git Community Book 中文版 

Git Cheat Sheet

Git权威指南

Git教程

posted on 2022-04-08 23:27  者旨於陽  阅读(68)  评论(0编辑  收藏  举报

导航