Git
2023-07-20 本文已影响0人
菇凉别走
1、git的初始化,初始化后会在当前目录生成.git文件夹
git init
|--.git
|-----HEAD #项目当前处于哪个分支,刚创建默认ref: refs/heads/master
|-----config #项目git配置信息,git config改动
|-----description #项目描述信息
|-----index #索引文件暂存区(statge),刚创建的项目不存在,通过git add后出现,是一个二进制文件
|-----hooks/ #系统默认钩子脚本目录
|-----logs/ #各个refs的历史信息,刚创建的项目不存在
|-----objects/ #git本地仓库的所有对象(commits,trees,blobs,tags)
|-----refs/ #标识项目里哪个分支指向哪个提交(commit)
2、git的配置(单个仓库配置优先级高)
//单个仓库签名配置,单个仓库有效,配置在.git的config文件中可见
git config user.name xxx
git config user.email xxx
//全局配置,全局仓库有效,配置在c盘/用户/.gitconfig文件中可见
git config --global user.name xxx
git config --global user.email xxx
3、git提交相关命令
//查看当git前项目状态
git status
//将文件添加到暂存区(stage)
git add <filepath1> <filepath2>...
//将当前文件夹下所有文件添加到暂存区(stage)
git add .
//git add -update缩写,会将已添加到暂存区的文件的修改update到暂存区,新建的文件不会添加到暂存区
git add -u
//将文件移出暂存区
git rm --cached <filepath>
//提交所有暂存区的文件到本地仓库
git commit -m <msg>
//提交选中文件到本地仓库
git commit <file1> <file2> .. -m <msg>
//将工作区中已修改的文件和暂存区中的文件一起提交,不包含新建的未追踪的文件
git commit -am <msg>
//查看提交记录头部信息
git reflog
//查看提交记录 包括提交人和提交时间等详细信息
git log
//将工作目录回退到 版本号所对应的提交(版本号即git reflog中所显示的版本号)
git reset --hard 版本号
4、git 分支相关命令
//查看所有分支
git branch -v
//创建分支
git branch xxx
//修改分支名
git branch -m oldxxx newxxx
//删除分支
git branch -d xxx
//切换分支
git checkout xxx
//将xxx合并到当前分支
git merge xxx
5、远程仓库相关git命令
//查看远程仓库
git remote -v
//给远程仓库取别名,别名的作用是push的时候可用来替代仓库地址
git remote add 别名 仓库地址
//将分支推送到远程仓库,远程仓库用户名密码保存在windows凭据中
git push 别名 分支
//拉取远程仓库代码
git pull 别名 分支名
6、ssh设置
//在windows/用户名下的.ssh文件夹中执行该命令生成公钥和私钥
ssh-keygen -t rsa -C 用户名
复制公钥(以.pub结尾的)到git的 profile/setting下找到SSH and GPG keys下设置公钥即可
7、忽略文件(待验证,局部的是否也是这么配置?)
//公用配置
git config --global core.excludesfile 文件名