一、Git在window上的下载和安装
可以去Git官网下载,如果嫌官网下载的慢,淘宝有一个镜像的网站 可以提供下载添加链接描述
安装完之后cmd打开命令提示符输入git --version,出现git的版本号表示安装成功。
安装成功后还是进入命令提示符设置名称和邮箱
设置名称的命令:git config --global user.name “名称”
设置邮箱的命令:git config --global user.email 邮箱地址
设置完用命令git config --list查看是否设置成功
完成以上操作算是安装完成
二、Git的常用命令以及三个状态
状态 | 描述 |
---|---|
已提交(committed) | 已提交表示数据已经安全的保存在本地数据库中。 |
已修改(modified) | 已修改表示修改了文件,但还没保存到数据库中。 |
已暂存(staged) | 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。 |
常用命令如下:
1、初始化git 本地仓库:git init
2、查看工作目录与暂存区文件状态:git status
3、添加文件到暂存区:git add 文件路径或者文件
4、提交到储存库:git commit -m ‘注释本次提交的内容的备注’
5、git commit -am ‘注释本次提交的内容的备注’ 效果等于3和4两条指令的结合
6、显示提交日志信息:git log
7、显示提交日志信息以及回退的版本日志信息:git reflog
8、当日志信息较多时,日志信息可以挤到一行里:git log --pretty=oneline
9、查看修改的变动差异:git diff HEAD – 文件路径或者文件
10、从暂存区移除: git restore --staged 文件路径或者文件 或者 git reset HEAD 文件路径或者文件
11、版本回退:git reset --hard HEAD^ 或者 git reset --hard HEAD~2 (代表回退2个版本)
12、版本恢复:git reset --hard 唯一标识
13、查看本地仓库的文件:git ls-files
14、从本地仓库删除:git rm 文件路径或者文件
15、当工作区的文件不小心删除了,但是本地仓库里还有时进行恢复:git checkout 文件路径或者文件 或者 git restore 文件路径或者文件(来取消改变)
16、克隆远程项目到本地:git clone 地址(可以把GitHub或者码云上的项目下载克隆到本地)
6、查看其他的命令:git --help
三、SHH key
使用本地Git客户端生成SSH公钥与私钥 执行命令 ssh-keygen -t rsa -C “GitHub账户邮箱” 然后一直回车 最后会在C:\Users\当前用户路径下生成一个.shh文件夹,文件夹下面有一个公钥和一个私钥,然后再GitHub上添加公钥, 然后检查测试链接 执行命令 ssh -T git@github.com
再然后就可以通过git clone 来克隆项目了
四、Git的分支操作
相关命令操作
命令 | 描述 |
---|---|
git checkout branch | 切换到指定分支 |
git checkout -bnew_branch | 新建分支并切换到新建分支 |
git branch -d branch | 删除指定分支 |
git branch | 查看所有分支, 并且*号标记当前所在分支 |
git merge branch | 合并分支 |
git branch -m 或者 -M oldbranch newbranch | 重命名分支,如果newbranch名字分支已经在,则需要使用-M强制重命名,否则,使用-m进行重命名。 |
五、分支Push与Pull操作
相关命令操作
命令 | 描述 |
---|---|
git branch -a | 查看本地与远程分支 |
git push origin branch_name | 推送本地分支到远程 |
git push origin :remote_branch | 删除远程分支(本地分支还在保留) |
git checkout -b local_branch origin/remote_branch | 拉取远程指定分支并在本地创建分支 |
六、标签管理
命令 | 描述 |
---|---|
git tag tag_name | 新建标签 默认为HEAD |
git tag -a tag_name -m ‘xxx’ | 添加标签并指定标签描述信息 |
git tag | 查看所有标签 |
git tag -d tag_name | 删除一个本地标签 |
git push origin tag_name | 推送本地标签到远程 |
git push origin --tags | 推送全部未推送过的本地标签到远程 |
git push origin :refs/tags/tag_name | 删除一个远程标签 |