1.创建并切换分支
git checkout -b wangcong21
2.查看本地分支
3.创建分支
4.切换分支
5.需要更新代码/切换分支,但本地有改动,又不想提交改动
$ git stash #将改动放到暂存区,暂存后,运行git status,发现是一个干净的环境,无改动
$ git stash pop #将暂存区信息恢复
6.更新master主线上的东西到该分支上
7.合并master分支到当前分支
8.删除分支
git branch -d<name> #要删除的分支不能为当前分支
#删除本地分支 —D表示强制删除
MC:cep-erp-m-api-case Smarter$ git branch -d wangcong
Deleted branch wangcong (was fe3ad64).
#不能删除当前checkout的分支
MC:cep-erp-m-api-case Smarter$ git branch -d wangcong
error: Cannot delete branch 'wangcong' checked out at '/Users/wangcong21/PycharmProjects/xxxxxprogect'
9.查看分支操作日志
git log --pretty=oneline #--pretty=oneline表示一行简单展示,输入q可以退出
10.提交到指定远程分支
git push origin 远程分支名字
此命令会将当前所在的分支提交到远程指定分支上
11.本地版本回退到某次提交
git reset -hard commit-id
可以回退到指定提交的版本,如果是远程分支想回退,那么就先把远程分支拉到本地,然后在本地回退版本,在push到远程分支上
回退命令:
$ git reset --hard HEAD^ 回退到上个版本,不会覆盖git仓库里的代码
$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard commit_id 退到/进到 指定commit的sha码
强推到远程:
$ git push origin HEAD --force
12. 提交本地修改到缓存区
git stash
git pull
git stash pop
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
13.放弃本地修改,直接覆盖之
git reset --hard
git pull
# 放弃某个文件的修改
git status
git checkout 文件名
git checkout // 放弃所有文件的所有修改
14.提交本地文件到master
git add README.md //git add -A 添加所有文件
git commit -m "基本框架结构,封装了一些基本常用的方法"
git remote add origin https://github.com/wangcong21/xxxx
git push -u origin master
15.提交本地代码到仓库
代码下载后,先创建本地分支:
git checkout -b wangcong21 #创建并切换到分支wangcong21
git add *
git commit -m "commit msg"
git checkout master #切换到master分支
git pull #更新master代码到本地master
git merge wangcong21 #合并本地分支wangcong21的代码
git push #提交本地master代码到git仓库
16.查看所有远程分支
MC:xxxx Smarter$ git remote show origin
* remote origin
Fetch URL: xxxxx
Push URL: xxxxx
HEAD branch: master
Remote branches:
interface-cov-1017 tracked
master tracked
send_weeklyreport tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
17.重命名本地分支
MC:xx Smarter$ git branch -m wangcong21 wangcong
MC:xx Smarter$ git branch
* master
wangcong
18.git删除远程仓库中的提交版本
1.git reset --hard 版本号(重置到指定版本号)
2.git push origin master -f (强制push),会将远程分支强制重置到当前本地版本,之前提交在远程分支都会被删除
'''
git branch -m old_branch new_branch # Rename branch locally git push origin :old_branch # 删除远程分支 git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
'''