用户配置
git config --global user.name "用户名"
git config --global user.email "用户邮箱"
配置级别
- local(默认,高级优先):只影响本地仓库
- global(中优先级):只影响所有当前用户的git仓库
- system(低优先级):影响到全系统的git仓库
显示当前的Git配置
git config --list
提交
1. 查看当前状态
git status
2. 提交
git add . // 加入到暂存区
git rm --cached 文件1 文件2 // 把暂存区中的文件从暂存区移除
git commit -m "注释" // 提交暂存区到仓库区
提交以后,可通过 git status
查看是否还有文件未提交
3. 上传到自己的仓库
git push -u origin master // 将本地代码推送到远程 首次推送
git push -f origin master // 强制推送本地代码到远程
git pull // 下载远程代码并合并
git push // 上传远程代码并合并
提示远程仓库已经存在,解决方案删除远程仓库地址,重试一次
git remote rm origin
git remote add origin https://git地址
git push -u orgin maser
3. 从git中删除指定文件
git rm 文件名(包括路径)
撤销
git checkout [file] // 恢复暂存区的指定文件到工作区
git checkout . // 恢复暂存区的所有文件到工作区
git checkout [commit] [file] // 恢复某个commit的指定文件到暂存区和工作区
版本回退
git log // 查看当前分支的版本历史
git reset --hard HEAD^ // 回退到上个版本
git reset --hard HEAD^^ // 回退到上上个版本
获取版本号
git reflog // 查看当前分支的最近几次提交
git reset --hard 加你想要回退的版本号
分支操作
branch命令主要用来处理跟分支有关系的功能,比如创建分支、删除分支、查看本地分支、查看远程分支等。
列出分支
git branch // 查看所有本地分支
如果不添加任何参数,则代表显示本地所有分支,分支名前面有*号的代表当前正处于哪个分支。
git branch -a // 查看所有本地分支和远程分支
git branch -r // 查看远程所有分支
创建分支
git branch branchname // 创建分支
git checkout branchname // 切换本地分支
git checkout -b branchname // 创建新分支并立即切换到该分支
git checkout -b 本地分支名 origin/远程分支名 // 创建远程分支
删除分支
git branch -d branchname // 删除本地分支
/* 删除远程分支 */
git push <主机名> -d <分支名>
// 等同于
git push <主机名> --delete <分支名>
/* 举例 */
git push origin --delete [branch-name]
git branch -dr [remote/branch]
git branch -D [branch-name] // 强制删除( -D 等同于 --delete --force )
查看本地分支+上次提交的信息
git branch -v
查看本地分支+上次提交的信息+本地和远程分支的关系
git branch -vv
如果本地分支没有和任何远程分支建立追踪关系,那么就不显示
查看本地分支+上次提交的信息+本地和远程分支的关系+远程分支
git branch -vv -a
克隆分支
git 克隆地址
git checkout 远程分支名
/* 或者直接远程克隆需要的分支 */
git clone -b 远程分支名 克隆地址
分支合并
注意,合并操作前,先切换到主分支(master),再执行此命令。
git checkout master
git pull origin master // 把远程master上的代码pull下来
git merge 侧分支名 //把分支的代码合并到master上
git status // 查看状态
git push origin master // 执行提交命令
合并冲突并解决(conflict)
当两个侧分支对同一个文件进行了修改并提交,在合并时就会出现(conflict)
冲突解决:开发人员交流后,删除异常代码,保存后重新提交
git add 冲突文件
git commit //如果不是使用git commit -m “备注” ,那么git会自动将合并的结果作为备注,提交本地仓库
git push // 本地仓库代码提交远程仓库
其他命令
git tag //查看版本
git tag [name] //创建版本
git tag -d [name] //删除版本
git tag -r //查看远程版本
git push origin [name] //创建远程版本(本地版本push到远程)
git push origin :refs/tags/[name] //删除远程版本
git pull origin --tags //合并远程仓库的tag到本地
git push origin --tags //上传本地tag到远程仓库
git tag -a [name] -m 'yourMessage' //创建带注释的tag