git下载地址:https://git-scm.com/downloads
注意事项:千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个"?",明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Visual Studio Code代替记事本,不但功能强大,而且免费!
安装完成后,需要进行用户名和Email的配置
git config --global user.name "Your Name"
git config --global user.email "Your Email"
概念:
工作区:就是你在电脑里能看到的目录
仓库:就是.git文件夹,这个文件夹里存放所有的版本信息
暂存区:相当于一个中间缓存区域,缓存本地的修改
仓库管理
创建仓库:git init
查看仓库状态:git status
添加文件到暂存区:git add 文件相对于版本库的路径
删除暂存区的文件:git rm 文件相对于版本库的路径
提交暂存区的文件到仓库:git commit -m "提交说明"
从仓库中还原指定的文件到工作区:git checkout -- 文件相对于版本库的路径
比较工作区文件与当前版本的文件的不同:git diff 文件相对于版本库的路径
比较工作区文件与上个版本的文件的不同:git diff HEAD^ 文件相对于版本库的路径
比较工作区文件与指定版本的文件的不同:git diff 版本号 文件相对于版本库的路径
查看完整版本历史记录:git log
查看清晰版本历史记录:git log --pretty=oneline
查看命令历史记录:git reflog
回退到当前版本(即撤销暂存区文件的更改):git reset --hard HEAD
回退到上一个版本:git reset --hard HEAD^
回退到上n个版本:git reset --hard HEAD^^^(n个^)
回退到指定版本:git reset --hard 版本号(版本号即为git log中查看的版本号,只输入前几位即可)
分支管理
创建分支:git branch 分支名
切换分支:git checkout 分支名
新版切换分支:git switch 分支名
创建并切换到分支:git checkout -b 分支名
新版创建并切换到分支:git switch -c 分支名
删除分支:git branch -d 分支名
查看所有分支:git branch
合并指定分支到当前分支:git merge 分支名
复制其他分支提交的修改到当前分支:git cherry-pick 版本号
标签管理
创建标签:git tag 标签名
给指定的提交创建标签 git tag 标签名 版本号
创建附带说明的标签:git tag -a 标签名 -m "说明" 版本号
删除标签:git tag -d 标签名
查看所有标签:git tag
查看标签详细信息:git show 标签名
储藏区管理
储藏当前工作区:git stash
查看储藏区信息:git stash list
恢复储藏区信息到工作区:git stash apply
恢复储藏区信息到工作区并删除储藏区信息:git stash pop
远程仓库管理
查看远程仓库的关联情况:git remote -v
创建远程仓库与本地仓库的关联关系:git remote add 远程库名字 远程库地址
删除远程仓库与本地仓库的关联关系:git remote rm 远程仓库名
克隆远程仓库到本地:git clone 远程仓库地址
创建远程分支到本地:git checkout -b 远程库名/远程分支名
关联本地分支到远程分支:git branch --set-upstream-to=远程库名/远程分支名 本地分支名
推送本地分支到远程分支:git push 远程仓库名 本地分支名:远程分支名
拉取远程分支的修改到本地分支:git pull
推送指定标签到远程:git push 远程仓库名 标签名
推送所有标签到远程:git push 远程仓库名 --tags
删除远程标签:先删除本地标签,然后执行命令git push origin :refs/tags/标签名