git的基本指令
2024-09-01 00:24:42
更多详情请看廖雪峰官方网站
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
1.删除分支
- 删除本地分支
git branch -d feature/qdn/609
2.使用git对项目进行提交
(1)git pull提交代码前先更新
- git pull或者git pull origin 分支名称
(2)git status
在工程目录下执行git status 操作来查看自己的状态,例如git status 状态有三种
- Changes to be committed:准备好提交状态;
- Changes not staged for commit:有路径但未准备好提交状态;
- Untracked files:没有路径的状态;
(3)git add .
则会把所有的状态都改为Changes to be committed
(4)执行git commit -am "做某某的更改"
会把Changes to be committed状态都变为commited状态,并提交commit的备注,以便别人知道你做了什么操作,但是没有push;
(5)执行git push
操作把分支push到工程的主干中进行合并;
3.当提交代码有冲突时
(1)先切换到develop分支中,git checkout develop
(2)更新develop分支,git pull 目的是把最新的develope分支更新到本地仓库中
(3)切换到自己的分支中 git checkout 分支名
(4)再执行git merge develop (目的,是把自己的分支和本地仓库中的develop进行合并,若有冲突,会显示冲突的地方,可以对冲突进行修改)
4.git从现有的分支创建一个新的分支
- 1.切换到develop中去
git checkout develop
- 2.更新develop分支:
git pull origin develop
- 3.在develop分支上创建分支 feature/qdn/742。命令为:
git checkout -b feature/qdn/742
- 4若在本地需要远程仓库现有的一个分支,需要先下载该分支,并切换到该分支下,命令如下
git fetch origin feature/qdn/788
git checkout feature/qdn/788
- 5.用命令提交
git push origin feature/qdn/788
- 6. git diff
- 可以查看工作区和缓存区的差异
- 7.git diff --cached
- 如果已经提交到缓存区中,git diff已经不生效了,此时需要加上git diff --cached
- 如果已经commit了,但没有push想看和远程分支的差别,则需要git diff origin 分支名
- 8. 如果还原,则用git reset --hard 是还原没有commit之前的代码
- 9.如果已经commit了,或者已经push了,则需要git reset 具体的提交tag编码
- git reset 8aca1711d7c8e2abe93866babe47081af0efa922
- 10. git branch -m 分支名 //给分支改名
5. git merge 和 git rebase的区别
//适合bug的修改的合并,如果是大量代码的合并,如果遇到冲突就停止解决冲突,再continue,再continue 再commit 效率会非常低;
在a分支上合并b分支,那么用git rebase 则会把b分支的东西,一点一点的合并到a分支上,当和a分支冲突时,会停止合并,并让你解决冲突后,再使用git rebase --continue 继续合并
//适合于任务的提交,合并代码量多的情况下
git merge 是 b分支全部合并到a分支后,如果有冲突会提示出来后,需要再次git add . 和git commit -m "提交" 后才行
6. git merge 的时候,加上 --no-ff 参数,是为了让它生成一个新的 commit,这样就可以防止报(no new changes)问题
最新文章
- WPF menu
- Python_Day4_函数
- 创业15条经验总结:温饱之后,创业公司CEO如何树“三观”?
- Redis执行Lua脚本示例
- [转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
- Win10 + VS2015 下编译 Qt5.6.0
- Throttling ASP.NET Web API calls
- ndk-gdb 对java/native code联合调试(升级版)
- focus与定位
- 【风马一族_Android】android的新发现
- MyEclipe10中集成Tomcat7
- 异常与诊断(74篇,内含许多WinDBG的文章)
- JSP制作简单登陆
- Sersync+Rsync实现触发式文件同步
- NetSNMP开源代码学习——mib扩展
- javascript中的AJAX
- vue 安装及使用
- Neko's loop HDU-6444(网络赛1007)
- ElasicSearch(3) 安装elasticsearch-head
- Behavior Tree 用 Lua 实现一个最简行为树
热门文章
- linux 下Eclipse for C/C++的不常见设置
- EPI_H/EPI_V(边缘保持指数,matlab 矢量化编程)
- latex 矩阵分块(block matrix)
- Ubuntu 14.04 64位字体美化(使用黑文泉驿)
- springboot 集成单元测试
- HDU 2686 Matrix 3376 Matrix Again(费用流)
- wpf border内部元素内边角溢出问题 裁剪效果
- 零元学Expression Blend 4 - Chapter 6 如何置入Photoshop档案以及入门动画设计
- Unicode对象
- C#函数参数前的修饰符