git相关命令

194 阅读4分钟

1,下载git

https://git-scm.com/downloads

2,查看版本

git --version

3,配置信息

git config --global user.name "你的用户名"
git config --global user.email "你的电子邮箱"

4,检测是否设置成功

git config --list

5,执行命令

初始化命令
git init
查看当前缓存区中的内容
git status
将项目文件夹内容,全都上传至缓存区
git add .
缓存区内容,上传至历史区,形成所谓的历史版本
git commit -m "注释内容"
查看历史版本
git log
查看工作区文件和暂存区的区别
git diff
查看暂存区和本地存储的区别
git diff --cached
简易显示从最近到最远的提交日志
git log --pretty=online
历史版本穿梭
git reset
返回上一个版本
git reset --hard HEAD^
返回上上个版本
git reset --hard HEAD^^
返回上一百个版本
git reset --hard HEAD~100
返回历史版本
git reset --hard commit id
查看之前所有提交过的版本号
git reflog
将文件从暂存区移除到工作区
git rm --cached 文件
将所有文件内容,从缓存区撤销
git reset HEAD -- .
拉取暂存区文件,并将其替换成工作区文件
git checkout -- .
远程仓库的克隆
git clone 远程仓库地址

6.创建合并分支

查看分支
git branch
创建分支
git branch 分支名称
切换分支
git checkout 分支名称
合并分支到当前分支
git merge 分支名称
合并分支保留分支信息
git merge --no-ff -m 分支
删除分支
git branch -d 分支

7.解决分支合并冲突

主分支和次分支都进行修改并提交新版本

合并出现问题git status查看合并冲突文件

合并分支
git merge 分支
解决

手动解决&编辑器解决

再次提交
git add .
git commit -m ""

8.分支管理及bug修复策略

master主分支是稳定的,开发子分支dev不稳定,当遇到紧急bug,在master上解决bug,就需要保护dev分支工作现场,也就是dev分支的一些更改还没有commit提交,我们先去处理bug,进入到bug分支时,我们先保留dev分支上的更改,以备bug解决完回来继续开发

dev分支操作
储存工作现场,等以后恢复现场继续工作
git stash
查看git stash存储的修改列表
git stash list
恢复指定的stash例:git stash apply stash@{0}
git stash apply ...
删除指定stash
git stash drop ...
恢复stash内容并删除
git stash pop
在master分支上修复的bug,合并到dev分支
git cherry-pick (bug分支提交修改的版本号)

9.本地与远程交互(多人协作)

从本地向远程推送主分支
第一次推送 git push -u origin master
之后推送 git push origin master
从本地推送分支(例如推送dev分支)
第一次推送 git push -u origin dev
之后推送  git push origin dev
别人克隆之后只能看到master主分支,需要在本地创建子分支并关联远程的分支
git checkout -b dev origin/dev
把dev分支上修改的内容推送到远程分支
git push origin dev
远程仓库的forked & pull request

1,先forked需要一起开发的仓库

2,然后可以保存到自己仓库

3,克隆下载进行更改开发

4,将修改再push回自己仓库

5,请求pull request到自己forked那个仓库等待对方响应

6,对方同意合并成功

注意:forked的主仓库内容随时都可能改变,所以每次puhs之前先拉取master到自己仓库
设置forked的地址用来拉取主分支代码进行开发
git remote add yyy(别名,类似origin) 主仓库的远程仓库地址
拉取代码
git fetch yyy
合并它的主分支到本地仓库
git merge yyy/master
最后
git push 上传到自己的远程仓库

创建标签

查看历史提交
Git log --pretty=oneline --abbrev-commit
建立一个标签
git tag v1.0
指定历史提交标签 例:git tag v1.0
git tag <tagname> commit <id>
查看标签信息
git show <tagname>
查看所有标签
git tag

操作标签

推送本地标签到远程
git push origin <tagname>
例:git push origin v1.0
推送本地所有未推送过的标签到远程
git push origin --tags
删除本地标签
git tag -d <tagname>
例:git tag -d v1.0
删除一个远程标签

注意:删除前需要先删除本地标签

git push origin :refs/tags/<tagname>:git push origin :refs/tags/v1.0