GIT常用命令-面试题必问
准备:
- git init : 项目初始化
- git clone http/ssh 拉取代码
1.查看分支
git branch:列出本地已经存在的分支
git branch -a :查看所有分支列表 包括本地和远程
git branch -vv:可以查看本地分支对应的远程分支
git branch -v 查看一个分支的最后一次提交
git branch --merged 查看哪些分支已经合并到当前分支
git branch --no-merged 查看所有未合并工作的分支
2.创建分支
git branch dev :创建名为dev的分支,创建分支时需要是最新的环境,创建分支但依然停留在当前分支上
3.删除分支
git branch -d dev:删除本地dev分支
git branch -D dev:dev分支还没合并入当前分支,所以要用-D参数才能删除掉
git push origin --delete dev 删除远程dev分支
git push origin:dev删除远程dev分支
4.重命名分支
git branch -m oldName newName:给分支重命名
5.切换分支
操作文件
git checkout fileName:放弃单个文件的修改
git checkout . :放弃当前目录的修改
操作分支
git checkout master :将分支切换到master
git branch -b master 如果分支存在则只切换分支,若不存在则创建并切换到master分支,repo start是对git checkout -b这个命令的封装,将所有仓库的分支都切换到master,master是分支名,
查看帮助
git checkout --help
6.拉取分支
git checkout dev:将远程分支dev拉取下来到本地dev分支
git pull dev 拉取远程分支dev中内容
git checkout -b test origin/test_remote 将远程分支test_remote拉取下来到本地test分支
git fetch origin 同步远程服务器的数据到本地。
7.合并分支
首先在子分支上 git add . / git commit -m ‘信息’
然后切换主分支(或者迭代分支) git merge + 子分支
这时候会有几个信息出来, 选择合并所有。
8.回退版本(常问)
- git reset HEAD^ : 回退上一个版本号,但当前版本代码保留了下来
- git reset --hard HEAD^ : 回退上一个版本号,当前版本代码不保留。
- git log : 查看日志(获取版本号)
- git reset + 版本号 退到具体哪个版本号上,不推荐(如果要用这个不加–hard的,你就得后面再加一条命令 git chekout . ,这样就相当于加了 --hard)
- git reset --hard +版本号 : 退到具体哪个版本号上,推荐
- git status : 查看转态
9.不小心回退
1.git reflog(能够查看到所有的代码版本,包括回退之前的)
2.git reset --hard 版本号(你所需要的版本号)