分支操作
使用 Git下载指定分支命令为:git clone -b分支名仓库地址
拉取远程新分支 git checkout -b serverfix origin/serverfix
合并本地分支 git merge hotfix:(将 hotfix分支合并到当前分支)
合并远程分支 git merge origin/serverfix
删除本地分支 git branch -d hotfix(删除本地 hotfix分支)
删除远程分支 git push origin --delete serverfix
上传新命名的本地分支:git push origin newName;
创建新分支:git branch branchName(创建名为 branchName的本地分支)
切换到新分支:git checkout branchName(切换到 branchName分支)
创建并切换分支:git checkout -b branchName(相当于以上两条命令的合并)
查看本地分支:git branch
查看远程仓库所有分支:git branch -a
本地分支重命名: git branch -m oldName newName
重命名远程分支对应的本地分支:git branch -m oldName newName
把修改后的本地分支与远程分支关联:git branch --set-upstream-to origin/newName
常用git命令
git status查看状态
git add .将所有修改加入到暂存区
git commit -m '提交描述' //将代码提交到本地仓库
git push //将本地仓库代码更新到远程仓库
git branch分支名 //创建新的分支
git branch //查看本地分支
git branch -a //查看远程分支
git branch分支名 //切换分支(一般修改未提交则无法切换)
git branch分支名 -f //强制切换分支
git push<远程仓库> <本地分支>:<远程分支> //将本地分支推送到远程分支上
git fetch //将某个远程主机的更新,全部/分支取回本地
git pull //拉取远程主机某分支的更新,再与本地的知道分支合并
git push //将本地分支更新,推送到远程主机,
提交错误修改命令的几个场景
场景1. //当你改乱了暂存区的某个文件内容,想要丢弃暂存区的修改时,用命令
git checkout --<文件名>
场景2. 当你不但改乱了暂存区某个文件内容,还添加到了本地仓库,想丢弃,分两步;
第一步: git reset HEAD file回到场景1
第二步: git checkout --<文件名>
场景3. 提交信息出错
git commit --amend -m '新提交信息'
漏提交: (1).git commit -m '提交信息';此时会出现2次提交commit
(2).遗漏文件提交到之前commit上
git add missed-file//missed-file为遗漏提交文件
git commit --amend --no-edit //--no-edit表示提交信息不会修改,在git上仅提交一次
场景4:提交错误文件,回退到上一个commit版本在提交 git reset
删除指定的commit
//修改版本库,修改暂存区,修改工作区
git reset HEAD<文件名> //把暂存区的修改撤销掉
git reset --hard commit_id
//将版本回退到1个版本,不仅仅是将本地版本库的头指针全部重置到指定版本,也会重置暂存区,并且会将工作区代码也回退到这个版本
git reset --hard HEAD~1
//修改版本库,保留暂存区、工作区
git reset --soft HEAD~1
撤销某次操作
git revert HEAD //撤销前一次commit
git revert HEAD^ //撤销前前一次操作
// (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次提交进行保存
git revert commit
//git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去, 版本会递增,不影响之前提交的内容
//git reset是直接删除指定的commit