git基本配置
全局配置文件保存在用户主目录下的.gitconfig
查看全局用户名和email:git config --global user.name git config --global user.email
设置全局用户名和email:git config --global user.name xxx git config --global user.email xxx
生成公钥 ssh-keygen -t rsa -b 4096 -C "369059389@qq.com"
查看本地与远程关联的名字 git remote 返回origin
修改仓库地址 git remote set-url origin 新地址
--代码初始化到仓库
新建仓库
mkdir baoxian-microservice
cd baoxian-microservice
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:zhwmi/baoxian-microservice.git
git push -u origin "master"
已有仓库
cd existing_git_repo
git remote add origin git@gitee.com:zhwmi/baoxian-microservice.git
git push -u origin "master"
初始化项目步骤:
git init
git checkout -b dev 此时执行git branch不会展示分支
git add . git commit -m '' commit之后执行git branch才会展示分支
git remote add origin
git push --set-upstream origin
新建分支并推送
git checkout -b demo
git push --set-upstream origin demo
#分支相关
git branch 列出本地已经存在的分支,并且当前分支会用*标记
git branch -r 查看远程版本库的分支列表
git branch -a 查看所有分支列表《包括本地和远程,remotes/开头的表示远程分支)
git branch -v 查看一个分支的最后一次提交
git branch--no-merged 查看所有未合并工作的分支
关联远程仓库:git remote add origin 仓库地址
查看映射的远程仓库地址:git remote -v
设置本地分支对应的上游分支,推送新分支到远程:git push --set-upstream origin 远程分支名 设置完成之后自动推送本地代码到远程
删除远程分支:git push origin -d 分支名
删除本地分支:git branch -d 分支名 (不能删除当前所在的分支,如果要删除,必须先切换到其他分支上)
切换分支:git checkout 分支名
新增并切换到分支:git checkout -b 分支名
新增分支不切换:git branch 分支名
.gitignore
删除暂存区文件,不删除工作区:git rm -r --cached 文件名
git reset 相关
带路径:
git reset <commit> <paths>
是用指定提交状态(<commit>)下的文件(<paths>) 替换掉暂存区中的文件。如果省略<commit>则相当于使用了HEAD的指向作为提交ID,
例如命令git reset HEAD<paths>相当于取消之前执行的git add <paths>命令时改变的暂存区,
不会重置引用,更不会改变工作区,仅将文件filename的改动撤出暂存区,暂存区中其他文件不改变,相当于对命令git add filename的反向操作
不带路径:
git reset[--soft|--mixed|--hard|--merge|--keep][-q][<commit>]
git reset --hard <commit>
1、会替换引用的指向,引用指向新的提交ID
2、替换暂存区,替换后,暂存区的内容和引用指向的目录树一致。
3、替换工作区,替换后,工作区的内容变得和暂存区一致,也和 HEAD 所指向的目录树内容相同
git reset --soft <commit>
只更改引用的指向,不改变暂存区和工作区,相当于执行上面的1
git reset
git reset(默认为--mixed)相当于git reset --mixed ,更改引用的指向及重置暂存区,但是不改变工作区,相当于执行上面的1和2
命令:git reset 仅用HEAD指向的目录树重置暂存区,工作区不会受到影响,相当于将之前用 git add命令更新到暂存区的内容撤出暂存区。引用也未改变,因为引用重置到 HEAD相当于没有重置。
命令:git reset HEAD 同上
命令;git reset -- filename 同上
分支
git branch -v 显示分支,同时显示commit_id和message
tag 相关
创建标签:git tag -a v1.1.1 -m "1.1.1版本" 推送到远程:git push origin v1.1.1
列出本地标签:git tag 查看标签详情:git show v1.1.1
列出远程标签:git ls-remote --tags 列出远程分支:git ls-remote --heads 列出远程分支和标签:git ls-remote
删除本地标签:git tag -d tag001 删除远程标签 git push origin :refs/tags/tag001