没有合适的资源?快使用搜索试试~ 我知道了~
Git知识点思维导图助力快速回顾
需积分: 5 0 下载量 12 浏览量
2023-07-25
12:51:20
上传
评论
收藏 387KB PDF 举报
温馨提示
试读
1页
帮助你快速查看常用操作
资源推荐
资源详情
资源评论
Git
拉取分⽀
提交到本地库(需要先提交到暂存区)
推送远程分⽀
git pull
克隆分⽀
git fetch + git merge
git add .
git comit -m [提交信息]
git push [远程库地址,⼀般为origin] [远程库分⽀]
操作
简介
配置级别
git config --system 配置项
系统上所有⽤户
git config --global 配置项
系统上当前⽤户
git config 配置项
当前仓库
例如:git config --system core.longpaths true
例如:git config --global core.longpaths true
例如:git config core.longpaths true
配置
查看所有配置
查看某⼀配置项
配置⽤户邮箱
PowerShell显示中⽂
git config --list
git config -l
git config core.longpaths
git config --global user.name "⽤户"
git config --global user.email "邮箱"
git config --global core.quotepath false
git config --global gui.encoding utf-8
git config --global i18n.commit.encoding utf-8
git config --global i18n.logoutputencoding utf-8
$env:LESSCHARSET='utf-8'
[environment]::SetEnvironmentvariable("LESSCHARSET", "utf-8", "Machine")
仓库
显示所有远程仓库
查看当前仓库传输代码使⽤的协议(ssh或者https)
git remote
git remote -v
推送本地已有仓库到远程仓库
git remote add origin https://gitee.com/wsdhla/mr-doc.git
修改协议
git remote rm origin
git remote add origin git@gitee.com:wsdhla/orders.git
git push -u origin master
显示某个远程仓库的信息
git remote show [remote]
来查看有关于origin的⼀些信息
git remote show origin
删除与<name>关联的过时引⽤。默认情况下,<name>下过时的远程跟踪分⽀会被
删除,但根据全局配置和远程的配置,我们甚⾄可能会修剪尚未推送到那⾥的本地标
记。
git remote prune origin
添加远程版本库
给远程仓库起别名,这样不需要每次都输⼊远程仓库地址
git remote add [shortname] [url]
删除远程仓库
git remote rm name
修改仓库名
git remote rename old_name new_name
仓库初始化
git init --initial-branch=dev
分⽀
git clone [url]
拉取⼀个空仓库
推送⼀个已存在的⽂件夹
推送⼀个已存在的本地仓库
⽤命令⾏创建⼀个新本地仓库
⽤命令⾏推送⼀个已存在的本地仓库
git clone ssh://git@git.iec.io:6060/lsvo/fpln/fplnbuddecpschdbusi.git
cd fplnbuddecpschdbusi
git switch -c dev
touch README.md
git add README.md
git commit -m "add README"
git push -u origin dev
全局设置
git config --global user.name "Fengliang Tian"
git config --global user.email "tianfl@inspur.com"
cd existing_folder
git init --initial-branch=dev
git remote add origin ssh://git@git.iec.io:6060/lsvo/fpln/
fplnbuddecpschdbusi.git
git add .
git commit -m "Initial commit"
git push -u origin dev
cd existing_repo
git remote rename origin old-origin
git remote add origin ssh://git@git.iec.io:6060/lsvo/fpln/
fplnbuddecpschdbusi.git
git push -u origin --all
git push -u origin --tags
echo "# conf-test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:wsdhla/conf-test.git
git push -u origin main
git remote add origin git@github.com:wsdhla/conf-test.git
git branch -M main
git push -u origin main
场景
查看所有分⽀,包括远程和本地
git branch -a
查看本地仓库分⽀
git branch
查看远程仓库分⽀
git branch -r
查看本地分⽀与远程分⽀的关联关系
git branch -vv
建⽴本地分⽀与远程分⽀的关联关系
本地分⽀与远程分⽀的关联关系
git branch --set-upstream-to=origin/远程分⽀ 本地分⽀
git checkout -b 本地分⽀ origin/远程分⽀
取消关联 git branch --unset-upstream 本地分⽀
或者(-u 等同于 --set-upstream-to) git push -u origin 本地分⽀:远程分⽀
创建分⽀ git branch 分⽀
删除分⽀
git branch -d
git branch -d -f
git branch -D 本地分⽀
移动或重命名分⽀
切换分⽀
git branch -m
git branch -m -f
git branch -M
git checkout 分⽀
git switch 分⽀
创建并切换分⽀
git checkout -b 分⽀
git switch -c 分⽀
从远程仓库检出新分⽀ git checkout -b 本地分⽀ origin/远程分⽀
若报错fatal:ʻXXX' is not a commit and a branch ʻXXX' cannot be created from it
git branch -r
git branch
git fetch origin
git remote update origin --prune
git branch
合并分⽀到当前分⽀ git merge 被合并的分⽀
强制合并
git merge --strategy-option=theirs 被合并的分⽀
git merge --strategy-option=ours 被合并的分⽀
删除本地分⽀
删除远程分⽀
git push origin :远程分⽀
git push origin --delete 远程分⽀
查看版本差异
查看本地分⽀与本地当前分⽀的差异 git diff 本地分⽀
查看远程分⽀与本地分⽀的差异 git log -p 本地分⽀..origin/远程分⽀
查看提交拓扑结构
git log --graph --oneline --branches --all
git log --oneline --graph --decorate --all
标签
删除本地标签 git tag -d 本地标签
推送⼀个本地标签 git push origin 本地标签
推送全部未推送过的本地标签
git push origin --tags
删除远程标签 git push origin :refs/tags/远程标签
回退
回退到上⼀版本
git reset HEAD^
回退到指定的版本号
git reset 版本号
git reset --hard 版本号
git reset [--soft | --mixed | --hard] [HEAD]
# –mixed 为默认,可以不⽤带该参数,⽤于重置暂存区的⽂件与上⼀次的提交
(commit)保持⼀致,⼯作区⽂件内容保持不变。
# –soft 参数⽤于回退到某个版本。只有本地库回退到指定版本。
# –hard 参数撤销⼯作区中所有未提交的修改内容,将暂存区与⼯作区都回到上⼀次版
本,并删除之前的所有信息提交。三个区都同步
将⽂件从暂存区撤销到⼯作区 git restore --staged ⽂件
还原⼯作区的修改 git checkout ⽂件
撤销处于⼯作区内的⽂件修改 git restore ⽂件
只是修改commit注释
git commit --amend
场景
本地修改内容不保留,直接回退,再pull
git reset --hard
git pull origin <branch>
本地修改内容保留
git stash #备份⼯作区内容
git pull origin <branch> #拉取远程分⽀
git stash pop #恢复⼯作区内容
以下未跟踪的⼯作树⽂件将被合并覆盖
git clean -dfn
git clean -df
实际上不要删除任何内容,只需显示将要执⾏的操作
git clean -n
git clean --dry-run
强制运⾏,如果clean.requireForce没有被配置为false,git clean就必须要带上-f或-i
才会清除
git clean -f
从版本控制移除⽂件(只从暂存区删除,继续保留在⼯作区)
git rm --cached ⽂件
git rm --cached .
提交历史
git log
git log 某⽂件
git log # 查看历史提交记录,默认为 新---> 旧,即最新的在最上⾯
git log --oneline # ⼀⾏的形式查看提交记录
git log --graph # 开启拓扑图选项
git log --reverse # 由旧到新查看提交记录
git log --author <authorName> # 查看指定提交⼈的提交记录
git log [ --since | --before | --until | --after ] <time> # 查看指定时间段的提交
记录
git reflog
Git是什么
Git是⽬前世界上最先进的分布式版本控制系统(没有之⼀)。
Git 是⼀个开源的分布式版本控制软件,⽤以有效、⾼速的处理从很⼩到⾮常⼤的项⽬版
本管理。 Git 最初是由Linus Torvalds设计开发的,⽤于管理Linux内核开发。
GitHub是⼀个基于Git的远程⽂件托管平台(同GitCafe、BitBucket和GitLab等)。
Git本身完全可以做到版本控制,但其所有内容以及版本记录只能保存在本机,如果想
要将⽂件内容以及版本记录同时保存在远程,则需要结合GitHub来使⽤。使⽤场景:
⽆GitHub:在本地 .git ⽂件夹内维护历时⽂件
有GitHub:在本地 .git ⽂件夹内维护历时⽂件,同时也将历时⽂件托管在远程仓库
Git的历史
同⽣活中的许多伟⼤事件⼀样,Git 诞⽣于⼀个极富纷争⼤举创新的年代。Linux 内核
开源项⽬有着为数众⼴的参与者。绝⼤多数的 Linux 内核维护⼯作都花在了提交补丁
和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项⽬组开始启⽤
分布式版本控制系统 BitKeeper 来管理和维护代码。
到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,
他们收回了免费使⽤ BitKeeper 的权⼒。这就迫使 Linux 开源社区(特别是 Linux 的
缔造者 Linus Torvalds )不得不吸取教训,只有开发⼀套属于⾃⼰的版本控制系统才
不⾄于重蹈覆辙。他们对新的系统制订了若⼲⽬标:
- 速度
- 简单的设计
- 对⾮线性开发模式的强⼒⽀持(允许上千个并⾏开发的分⽀)
- 完全分布式
- 有能⼒⾼效管理类似 Linux 内核⼀样的超⼤规模项⽬(速度和数据量)
⾃诞⽣于 2005 年以来,Git ⽇臻成熟完善,在⾼度易⽤的同时,仍然保留着初期设定
的⽬标。它的速度⻜快,极其适合管理⼤项⽬,它还有着令⼈难以置信的⾮线性分⽀管
理系统,可以应付各种复杂的项⽬开发需求。
Git的⼯作流程
从远程仓库中克隆 Git 资源作为本地仓库;
从本地仓库中checkout代码然后进⾏代码修改;
在提交本地仓库前先将代码提交到暂存区;
提交修改,提交到本地仓库;本地仓库中保存修改的各个历史版本;
在需要和团队成员共享代码时,可以将修改代码push到远程仓库。
Git的⼏个核⼼概念
⼯作区
暂存区
版本库
远程仓库
⼯作区,就是你平时存放项⽬代码的地⽅
暂存区,⽤于临时存放你的改动,事实上它只是⼀个⽂件,保存即将提交的⽂件列表信
息
仓库区(或版本库),就是安全存放数据的位置,这⾥⾯有你提交到所有版本的数据。
其中HEAD指向最新放⼊仓库的版本
远程仓库,托管代码的服务器,可以简单的认为是你项⽬组中的⼀台电脑⽤于远程数据
交换
资源评论
MattTian
- 粉丝: 325
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- #P0015. 全排列 超级简单
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功