本文已参与「新人创作礼」活动,一起开启掘金创作之路
基础
查看git版本
`git --verison`
配置用户名和邮箱
`git config
`git config
`git config
显示所有文件
`git ls-files`
查看文件内容
`cat xxx.txt`
创建版本仓库并提交
初始化一个版本仓库
`git init`
查看状态
`git status`
加入暂存区
`git add git01.txt 加入指定文件到暂存区`
`git add . 全部加入暂存区`
提交暂存区文件到版仓库
`git commit -m "提交说明"`
查看本地仓库
`git ls-files`
查看提交的日志
`git log`
查看提交的日志-简版
`git log -5 --pretty=oneline`
查看超级详细操作
`git reflog`
时光穿梭机
修改文件后查看文件内容变化
`git diff HEAD -- git01.txt`
撤销暂存区文件
`git reset HEAD`
版本回退
`git reset --hard HEAD^ 回退一个版本`
`git reset --hard HEAD^^ 回退两个版本`
`git reset --hard HEAD-1 回退最初版本`
`git reset --hard HEAD 879d 版本标识id`
文件误删除(git status查看状态先)
`git checkout -- git02.txt`
绝对删除
`git rm git02.txt`
远程仓库
克隆远程项目到本地
`git clone https://.......git`
将本地库推送到远程【https方式】比较简单,时间效率更高\
`git init 初始化`
`git add xxx 本地放到暂存区`
`git commit -m "first commot" 提交到本地库`
`git remote add origin https:
`git push -u origin master 推送到远程仓库分支master`
将本地库推送到远程【ssh方式】
`ssh-keygen -t rsa -C "github账号邮箱" 使用本地git生成ssh公钥和私钥`
`远程仓库配置该rsa的文本`
`ssh -T git@github.com 检查测试链接`
`以上配置完,然后重复https的步骤就行了`
分支操作
基础命令
`git checkout branch 切换到指定分支`
`git checkout -b new_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 拉取远程指定分支并在本地创建分支`
分支操作冲突
`分支1修改文件`
`分支2修改文件`
`合并分支1-2`
`出现冲突后修改相关文件+add+commit即可`
多人冲突
`当A1修改了001文件提交推送后`
`当A2也修改了001文件提交推送后就会报错`
`需要执行git pull 更新拉取`
标签管理
基础命令
`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 删除一个远程标签`
实操流程
`git tag`
`git tag v_1.0`
`git tag`
`git tag -a v_1.1 -m "若干bug修复"`
`git tag`
`git push origin v_1.0`