史上最全的git教程来了!!!

先上git教程

https://pan.baidu.com/s/1pF4kReq7B1ipttq_y-bhRA

提取码:i427

git是一个版本控制工具。

你可能之前总是出现这种情况

毕业论文1.0版
毕业论文最终版
毕业论文最最终版
毕业论文最最终版2.0
毕业论文真的最终版了,不然我就是狗!
毕业论文好吧我是狗版

是不是如此真实?

而代码开发也有如此困惑,因此为了避免上述情况的发生,我们必须有一个版本开发工具

比如
它只用一个版本,那就是最终本
但是它可以随意访问之前的任意版本
节省空间的同时,还可以节省开发人员的体力

git 的下载就不用多说了吧,大家自行下载就可以

下载的时候直接点默认,next就可以了
我们用的最多的是 git bash

另外,分享一个小tips:
我们可以在git bash里面敲Linux指令,来操作windows系统

分享几个常用的git 指令
1、git init(初始化一个.git文件)
2、git config user.name (登录名字,没有这个的话,commit会报错)
git config user.email(与上面相同)
git config --golbal user.name(全局设置,以后在其他文件夹也是使用该名字登录)
git config --golbal user.email
cat .git/config(查看设置文件)

3、git add( 将文件存放在暂存区)
git add .(把文件夹里面的文件全部add进去)
git rm --cached 文件名(将文件从暂存区撤回)

4、git commit -m ’ 注释 '(将文件提交到远程库)
git commit 文件名 -m ‘注释’
git commit --amend(修改注释)

5、git log(查看提交的历史)
git log --pretty=oneline
git log --oneline

6、git status(查看状态)
一旦出现报错要及时查看git status查看是什么错误

7、 git checkout -b 新分支名字 创建并切换分支
git branch (查看分支情况,当前分支会加*号)
git checkout 分支名字 (切换分支,但必须在新分支上commit新文件,否则会切换错误)
如果出错只有用,git checkout -b master(回到主分支)
git branch 分支名字(创建分支,但并不使用该分支)
git branch -d 分支名(删除分支)
git merge 分支1(比如当前在分支0,使用git merge 分支1后,会把分支1的工作线合并到分支0上)
8、$ git remote add origin https://github.com/guangyunZhang/zhangguangyun
(关联github仓库)
9、(1)git fetch
创建并更新本地远程分支。即创建并更新origin/xxx 分支,拉取代码到origin/xxx分支上;
在FETCH_HEAD中设定当前分支-origin/当前分支对应,如直接到时候git merge就可以将origin/abc合并到abc分支上;
(2)git fetch origin
手动指定了要fetch的remote。在不指定分支时通常默认为master;
(3)git fetch origin dev
指定远程remote和FETCH_HEAD,并且只拉取该分支的提交;
与git pull相比git fetch相当于是从远程获取最新版本到本地,但不会自动merge。如果需要有选择的合并git fetch是更好的选择。效果相同时git pull将更为快捷;

10、git push -u origin master(把代码推送到远端仓库去)
第一次需要加-u ,后面就不用加了。

git push origin master(以后就是)

11、git remote rm origin(删除远端库的origin)

12、git reset --soft HEAD 是指返回前一版本的commit)
当然也可以 git reset --soft HEAD ~1 (版本回退)
~2 ~3 。。。。返回前一前二版本

至于这几个参数:
(1)–mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
(2)–soft
不删除工作空间改动代码,撤销commit,不撤销git add .
(3)–hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。

顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就好了。

13、 git diff ()
1.git diff用来比较文件之间的不同,其基本用法如下:

(2)git diff --cached 或 git diff --staged:显示暂存区(已add但未commit文件)和最后一次commit(HEAD)之间的所有不相同文件的增删改(git diff --cached和git diff –staged相同作用)

(3)git diff HEAD:显示工作目录(已track但未add文件)和暂存区(已add但未commit文件)与最后一次commit之间的的所有不相同文件的增删改。

(3.1)git diff HEAD~X或git diff HEAD^^…(后面有X个符号,X为正整数):可以查看最近一次提交的版本与往过去时间线前数X个的版本之间的所有同(3)中定义文件之间的增删改。

(4)git diff <分支名1> <分支名2> :比较两个分支上最后commit 的内容的差别
(4.1) git diff branch1 branch2 --stat 显示出所有有差异的文件(不详细,没有对比内容)
(4.2) git diff branch1 branch2 显示出所有有差异的文件的详细差异(更详细)
(4.3) git diff branch1 branch2 具体文件路径 显示指定文件的详细差异(对比内容)
我们有2个分支:master、dev(dev为develop的缩写,应是开发新功能的Feature分支),查看这两个 branch 的区别,除了上面(abc)还有以下几种方式:
(4.4) git log dev ^master 查看 dev中log有的commit,而 master中log没有的commit
(4.5) git log master…dev查看 dev 中的log比 master 中的log多提交了哪些内容(注意,列出来的是两个点“…”后边(此处即dev)多提交的内容)
(4.6) git log dev…master 不知道谁提交的多谁提交的少,单纯想知道有什么不一样
(4.7) git log --left-right dev…master 在上述情况下,再显示出每个提交是在哪个分支上
注意 commit 后面的箭头,根据我们在 –left-right dev…master 的顺序,左箭头 < 表示是 dev 的,右箭头 > 表示是 master的,截图中表示这三个提交都是在 master 分支上的
14、

error:
(1)出现:nothing to commit,working tree clean
好好想想该文件是不是已经交过了
(2)出现 OpenSSL SSL_read: Connection was reset, errno 10054
git config --global http.sslVerify “false”(关闭SSL验证)

(3)Github 修正上传时“this exceeds GitHub’s file size limit of 100 MB”错误
https://blog.csdn.net/fightforyourdream/article/details/25357121

(14) git clone

git clone 网址

例如 git clone https://github.com/xxxxx(你的github仓库名字)
可以从我的github库上克隆代码下来

分支
https://www.cnblogs.com/matengfei123/p/8252128.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你们卷的我睡不着QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值