Git基本命令与常用业务处理[更新...]
最常用:
1. add
添加一个或多个文件到暂存区:
git add [file1] [file2] ...
添加指定目录到暂存区,包括子目录:
git add [dir]
添加当前目录下的所有文件到暂存区:
git add .
2. commit
提交暂存区到本地仓库中:
git commit -m [message]
-a 参数设置修改文件后不需要执行 git add 命令,直接来提交
git commit -a
设置提交代码时的用户信息
git config --global user.name 'runoob'
git config --global user.email test@runoob.com
3. pull
命令用于从远程获取代码并合并本地的版本
就是 git fetch 和 git merge FETCH_HEAD 的简写
格式:
git pull <远程主机名> <远程分支名>:<本地分支名>
将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并
git pull origin master:brantest
远程分支是与当前分支合并,则冒号后面的部分可以省略
git pull origin master
4. push
用于从将本地的分支版本上传到远程并合并
git push <远程主机名> <本地分支名>:<远程分支名>
本地分支名与远程分支名相同,则可以省略冒号
git push <远程主机名> <本地分支名>
5. reset
命令语法格式如下
git reset [--soft | --mixed | --hard] [HEAD]
实例:
git reset HEAD^ # 回退所有内容到上一个版本
git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本
# git log 查看所有的commit提交记录
# git show 查看最新的commit
# git show commitId 查看指定commit hashID的所有修改
# git show commitId fileName 查看某次commit中具体某个文件的修改
git reset 052e # 回退到指定版本 052e => [commitId ]
**命令说明**
HEAD^ 表示上一个版本,即上一次的commit,几个^ 代表几次提交,如果回滚两次就是HEAD^^
也可以写成HEAD~1,如果进行两次的commit,想要都撤回,可以使用HEAD ~2
--soft :不删除工作空间的改动代码 ,撤销commit,不撤销add
--hard :删除工作空间的改动代码,撤销commit且撤销add
--amend :commit后面的注释写错了,先别急着撤销,可以运行git commit --amend,进入vim编辑模式,修改完保存即可
一:远程版本库 remote 相关
1. 添加 远程版本库地址
添加远程版本库
1. 格式:git remote add [shortname] [url]
2. shortname 为本地的版本库
git remote add origin https://github.com/xxxx.git
2. 指定远程关联分支[ 即pull,push对应目标 ]
git branch --set-upstream-to=origin/[远程分支名] [本地分支名]
二:查询相关
1. 本地分支
git branch
2. 远程分支
git branch -r
3. 所有分支
git branch -a
4. 本地、远程分支对应关联
git branch -vv
三:创建相关
1. 本地分支
git branch [分支名字]
2. 基于远程某分支 创建 本地分支
git clone -b [本地分支名称] [项目仓库地址] [远程分支名]
3. 基于本地某分支 创建 本地分支
git checkout -b [新本地分支名称]
四:分支切换相关
1. 切换
git checkout [本地分支名]
Git 常见实际业务应用
1. 本地项目提交到远程仓库的一个新分支;
生成.git文件夹
git init
非空项目下: 生成master本地分支
git add .
git commit -m 'init'
执行完毕,此时默认生成master本地分支,git branch返回*master
不执行这两句代码,git init 后 git branch 查询返回为空
设置远程版本库
git remote add origin https://github.com/xxxx.git
提交当前分支到远程分支
git push origin ok:newOk
-> 提交本地分支ok到远程仓库origin下的newOk分支
git push origin [本地分支名]:[一个用于远程分支的新名字]
成功!