1.初始化仓库
初始化仓库即将当前目录加入Git版本控制
mkdir repository
cd repository
git init
2.配置用户名和邮箱
# 当前仓库(目录),此用户下的其他仓库需要重新设置,优先级最高
git config user.name "monkey monkey"
git config user.email "monkey@163.com"
# 全局,这个用户下的所有仓库都可以使用,优先级次之
git config --global user.name "monkey02"
git config --global user.email "monkey02@163.com"
# 系统,使用此电脑的所有用户都可以使用
git config --system user.name "monkey03"
git config --system user.email "monkey03@163.com"
# 查看配置
git config --list
git config --system --list
git config --global --list
git config --local --list
# 删除配置
git config --unset user.name
git config --global --unset user.name
3.配置代理
git config http.proxy "http://user:password@xxx.xxx.xxx.xxx:port"
git config https.proxy "https://user:password@xxx.xxx.xxx.xxx:port"
3.添加文件
# 单个文件,多个文件,当前仓库下所有文件
git add read01.md
git add read01.md read02.md
git add .
4.提交变更
git commit -m "add three files";
5.查看仓库状态
Git分为工作区(就是当前的目录),暂存区(.git目录里面,暂时存放修改的地方,可以被丢弃),版本库(提交后到这里)
# 我们的修改都发生在工作区
# git add之后进入暂存区,还可以反悔
# git commit之后进入版本库,没法反悔
# git status可以查看修改到哪个区了
git status
6.版本查看
git log
git log --pretty=oneline
7.版本回退
# HEAD^代表上一个版本,HEAD^^代表上两个版本,HEAD~100代表上100个版本
git reset --hard HEAD^
# 也可以使用HASH值的前几位,不能太少,否则可能会重复
git reset --hard dd683b
8.版本返回
版本回退就像从现在回到了过去,此时,想从过去在回来该怎么办
git reflog
git reset --hard d4d2f67
10.撤销修改
# 丢弃工作区的修改
# 如果是在添加到暂存区后的修改,丢弃后和暂存区一模一样。没有添加到暂存区的修改,丢弃后和版本库的一模一样
git restore read01.md
# 丢弃暂存区的修改,暂存区的所有修改就找不到了
git restore --staged read01.md
# 丢弃版本库的修改
git reset --hard HEAD^
11.远程仓库
# 查看配置的远程仓库
git remote -v
# 添加远程仓库
git remote add origin git@github.com:michaelliao/learngit.git
# 如果使用SSH公钥,需要将本地公钥放到GitHub。如果使用用户名和密码,可以设置存储认证,输入一次就可以了
git config credential.helper store
# 推送,origin远程主机名,master本地分支名,master远程分支名,加-u参数会把本地分支和远程分支关联,后续推送拉取可以简化命令
git push -u origin master:master
# 删除远程库,即解除本地与远程库的联系
git remote rm origin
# 克隆远程仓库
git clone git@github.com:michaelliao/learngit.git
12.分支
# 查看分支
git branch
# 创建分支,创建并切换到分支
git branch dev
git switch -c dev
# 切换分支
git switch dev
# 删除分支
git branch -d dev
# 合并分支,合并分支前,要切换回原来的分支
git switch master
git merge dev
参考:廖雪峰Git教程