IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 玩转Git三剑客-补充上文Git操作 -> 正文阅读

[开发工具]玩转Git三剑客-补充上文Git操作

master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

git branch -v 查看分支

git checkout -b 8c84be(历史版本截取一段建立新的分支)

对readme文件稍作修改:
vi readme
git commit -m'Add test'

git log --oneline --all --graph(图形界面查看演进历史)

gitk:通过图形界面工具来查看版本历史

查看./git

cd ./git
cat HEAD 查看当前分支

git config --local user.name 'liu'(修改配置)

分离头指针情况下的注意事项

执行了命令git checkout 415c5c(未存在的分支)
修改文件之后接到任务要去master主分支里面修改一些东西,执行命令git checkout master
git会默认你刚刚对那个分支进行的修改是无用的,过段时间会清理掉,执行git checkout master他会提示建立新分支保存刚刚的操作。

删除不必要的分支

git branch -D [分支名]

修改最新commit的message

git log -1(查看message)
git commit --amend

修改老旧commit的message

git log -3(查看最近三次提交)
git rebase -i 【需要改变的版本的父版本】
找到将要修改的message,把pick改成r,保存退出
会自动跳转到修改界面,修改message,保存退出

以上操作都是在自己的分支上做变更,还没有贡献到团队的集成分支上

怎么把连续多个commit整理成一个?

git rebase -i 【需要合并的commit的最早版本的父版本】(与修改message操作差不多)
保留待合并的历史版本的其中一个,其他的pick改成s,保存退出
会自动跳转到修改界面,增加一行为什么要合并的message,保存退出

怎么把间隔的几个commit整理成一个?

git rebase -i [需要合并的commit的最早版本的父版本]
保留待合并的历史版本的其中一个,其他的pick改成s,将要合并的commit写总在一块(上下行),保存退出
git rebase --continue

怎么比较暂存区和HEAD所含文件的差异

git diff --cached

怎么比较工作区和暂存区所含文件的差异

git diff
git diff -- [指定文件]
git diff -- readme.md styles/style.css

如何恢复暂存区和HEAD的一样

git reset HEAD
git reset HEAD -- [指定文件]

如何让工作区的文件恢复为和暂存区的一样

git checkout -- index.html

看看不同提交的指定文件的差异

git diff [历史版本1] [历史版本2] -- [指定文件]

正确删除文件

git rm [文件名]

开发中临时加塞了紧急任务,处理

git stash

git stash list

完成紧急任务之后要恢复之前正在做的事情
git stash apply 
执行完此命令之后,工作区就会有最新stash的内容,且stash堆栈还有保留。
用git stash pop之后,stash堆栈就不会保留

指定不需要Git管理的文件

.gitignore

doc/ 忽略doc文件夹下的所有文件,但是名字为doc的文件还是要管理

doc 忽略名字为doc的文件或文件夹

如何将Git仓库备份到本地

git remote add zhineng file://【git地址】
git push --set-upstream zhineng suling

把本地仓库同步到github

git remote add github [github上的ssh地址] #报错,github有个文件LICENSE
git fetch github master #提示将github的master先fetch下来

用gitk --all查看分支树发现github的master与本地的master不相干,都是独立的树
切换分支,git checkout master
现在要合并它们,使用命令git merge,由于他们不相干merge出错
git merge -h查看帮助

git merge --allow-unrelated-histories github/master

git push github master

不同人修改了不同的文件如何处理

同级目录下克隆两次远端项目,其中一个需要更换文件夹的命名
修改其中一个local.user跟local.eamil模拟两个人
进入刚克隆好的项目中,拉取远端的分支:
git checkout -b feature/add_git_commands origin/feature/add_git_commands

origin/feature/add_git_commands是远端的一个分支,上面的命令是根据远端分支创建一个本地分支并切换到分支上。
方便后面直接git push

当两个人同步github的远端项目,第一个人先对远端项目进行修改,第二个人再提交修改时报错“non fast-forwards”。
解决:
git fetch github
不要求线性分支可以使用git merge github/feature/add_git_commands

不同人修改了同文件的不同区域

开发之前,得先跟远端进行同步
git pull
查看分支
git branch -av
解决:
git fetch
git merge origin/feature/add_git_commands

不同人修改了同文件的同一位置

git push 失败
git pull 查看报错位置
<<<<HEAD
冲突内容
>>>>
手动修改保留需要部分,保存退出
git status
git commit 'Resolved conflict by hand with ...'
git push

同时变更了文件名和文件内容

git pull
git能够智能感知

把同一文件改成了不同的文件名

git pull同步
查看冲突文件的差异diff [文件1] [文件2]
git status查看状态

git 不处理
保留每个人修改的文件,让工作人员协商舍取
最后git push

禁止向集成分支执行push -f操作

git reset --hard [历史版本] 本地指向以前commit
git push -f origin feature/add_git_commands 强制将远程的也指向历史commit,之后的commit全部都消失了,是一个极其危险的操作,严格禁用push -f操作。

集成分支千万不要对他做变基的行为,只有在现有的情况下往上增加commit的方式。

在github上搜索自己想要的项目

高级搜索:
git 最好 学习 资料 in:readme
in:readme是搜索在readme文件上出现前面的关键字,不然就默认在项目名字跟简介上搜索
如果要搜代码:filename:xxx,xxx表示文件名
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:55:55  更:2021-12-11 15:58:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:54:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码