git入门记录

作者在网易云课堂学习Git教程,并记录了学习内容。包含Git初始化、查看状态、文件操作、分支管理、合并冲突解决等常用命令,如git init、git status、git add等,还提及了一些特殊操作及相关注意事项。

虽然之前一直有用git,但是也只是会一点点的命令,今天在网易云课堂上找了个视频教程学习,感觉还不错。
网址是:
https://study.163.com/course/courseMain.htm?courseId=1003268008&trace_c_p_k2=9da982b04d984438a03bf1a4a2e01898#/courseDetail?tab=1
下面是我学习时的记录,如有错误请多多指正

在这里插入图片描述
git init : 初始化本地仓库
git init +路径: 在该路径下初始化本地仓库
git status: 查看工作区状态
git add +文件名: 添加文件到暂存区
git commit -m “xxx”: 从暂存区到本地仓库
git push :从本地仓库到远程仓库
git pull: 从远程仓库下更新
git clone +网址: 从远程仓库下载
git diff: 工作目录和暂存区的差别
git diff HEAD: 工作目录和本地仓库的差别
git diff --cached: 暂存区和本地仓库的差别
git rm –cached +文件名: 从本地仓库中移除

暂存区在.git/index文件下
ll : 查看工作区里的东西
git ls-files -s :暂存区里面有哪些东西
git ls-tree +分支名: 查看commit里面有哪些东西
git cat-file -p +:文件名 :查看暂存区下该文件的内容
git cat-file -p +文件哈希值 :查看暂存区下该文件下的内容
git cat-file -p +分支名:文件名 :查看该分支下该文件的内容

在这里插入图片描述

commit 指向一个tree,tree指向多个blob
tree是目录,blob是文件

git存储数据的方式:

在这里插入图片描述

git log:查看当前分支以前有哪些提交
git log --oneline :简单查看当前分支以前有哪些提交
git log --oneline --decorate:简单查看当前分支以前有哪些提交和分支
git log --oneline --decorate --graph:用图形化的方式显示,方便查看结构
git log –oneline –all:查看所有的提交
git config alias.logg “log --oneline --all --decorate --graph”:设置默认参数,以后输入git log 就相当于加了这些参数

git commit 不允许空的提交,如果要添加空的提交需要添加参数–allow-empty:
git commit --allow-empty -m ‘xxx’

git branch:查看本地有哪些分支
git branch -a:查看本地和远程分支,其中remote 表示远程分支,origin表示地址(git clone 后面那串东西)
git branch -vv:查看跟踪分支
git branch +名字:新建分支
git branch +名字 +父分支名:在某分支下创建新的分支
git branch –set-upstream debug origin/debug : 把debug分支跟踪到 origin/debug分支上
git checkout +名字:切换分支(做了三件事情,把commit的内容放入工作区和暂存区,更新HEAD的指向)

git checkout -b +名字: 创建且切换分支

cat .git/HEAD:查看现在工作在哪个分支

git checkout . :把暂存区的所有内容覆盖工作区
git checkout --file +文件名:把暂存区的某些文件覆盖工作区

git checkout HEAD . :把HEAD指向的分支的所有文件复制到暂存区和工作区
git checkout HEAD --file +文件名:把HEAD指向的分支的部分文件复制到暂存区和工作区

git stash : 把所有现在的修改放入一个暂时存放的地方,并把工作目录回复到修改前
git stash list : 查看暂存的列表(stash@{0}是最近的一次存储,类似与栈)
git stash show -p statsh@{0}:查看stash的内容
git stash pop : 应用第一个暂存 ,并删除
git stash apply statsh@{0}: 应用暂存 ,但不删除
git stash drop statsh@{0}: 不应用暂存 ,删除

git merge 分支名a:把a分支合并到当前分支
git mergetool :当有冲突的时候使用这个工具解决冲突,但在使用之前要先配置使用哪个工具,详细看课时14
merge的时候会生成*.orig的文件,这是一个备份防止merge错了就找不到原来的,当你merge完的时候可以把这个文件删掉
merge完要commit
在这里插入图片描述
git rebase --onto newbase start branch :计算branch和start的差值,然后应用到 newbase上(若在远程分支上不建议用),这个操作效果上和git merge类似,但是git的图的形状不一样。默认如果省略–onto newbase,那么默认 newbase等于 start,如果省略 branch,默认为HEAD
加上-i参数为交互式的rebase

在这里插入图片描述
编写.gitignore文件可以让git不管理某些文件
在这里插入图片描述

git fetch :从远程分支上同步代码,如果要移动到最新的commit要用git merge,git pull就等于git fetch + git merge

git reset --soft 哈希值(commit的哈希值) :更新本地仓库中分支指向
git reset --mixed 哈希值 :更新本地仓库中分支指向,且更新暂存区.
git reset --hard 哈希值 :更新本地仓库中分支指向,且更新暂存区和工作区
git reset 哈希值 :默认是mixed选项
git reset 哈希值 – [.|filename] :用该commit重置暂存区

当commit说明写错的时候可以这么做:
git reset --soft master^: master^表示master的父节点
然后再重新commit
也可以直接使用 git commit –amend -m ’xxx’直接进行修改

看到了一个博客说写错了–hard的情况下怎么恢复
https://www.cnblogs.com/hope-markup/p/6683522.html

git cherry-pick 哈希值:把commit的修改应用到当前分支中

git revert 哈希值:撤销这个commit

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值