网站怎么上传,北京工程设计公司排名,中国排名第一的游戏,wordpress批量添加分类大家好#xff0c;我是星恒#xff0c;这个帖子给大家分享的是git和github的全套教程#xff0c;包含github初始#xff0c;git常用命令以及基本使用#xff0c;git的ssh链接github#xff0c;github使用token登录#xff0c;github和idea的配合#xff0c;一些平时常用… 大家好我是星恒这个帖子给大家分享的是git和github的全套教程包含github初始git常用命令以及基本使用git的ssh链接githubgithub使用token登录github和idea的配合一些平时常用的小技巧。 此外我还为此贴持续输入关于github运营的相关内容欢迎大家和我一起成长 初识GitHub
GitHub 是一个面向开源及私有软件项目的托管平台因为只支持 Git 作为唯一的版本库格式进行托管故名 GitHub。GitHub 于 2008 年 4 月 10 日正式上线除了 Git 代码仓库托管及基本的 Web 管理界面以外还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱报表、代码片段分享Gist等功能。目前其托管版本数量非常之多而且其中不乏知名开源项目例如 Ruby on Rails、jQuery、python 等。作为开源代码库以及版本控制系统Github 拥有超过千万的开发者用户。随着越来越多的应用程序转移到了云上Github 已经成为了管理软件开发以及发现已有代码的首选方法。如前所述作为一个分布式的版本控制系统在 Git 中并不存在主库这样的概念每一份复制出的库都可以独立使用任何两个库之间的不一致之处都可以进行合并。GitHub 可以托管各种 Git 库并提供一个 web 界面但与其它像 SourceForge 或 Google Code 这样的服务不同GitHub 的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单首先点击项目站点的Fork的按钮然后将代码检出并将修改加入到刚才分出的代码库中最后通过内建的pull request机制向项目负责人申请代码合并。GitHub 项目本身自然而然的也在 GitHub 上进行托管只不过在一个私有的公共视图不可见的库中。开源项目可以免费托管但私有库则并非如此。在 GitHub用户可以通过Explore轻而易举地找到海量的开源代码。因此称之为程序员的 圣地 也不过吧
敲开github大门
在 GitHub 里面有众多的业界大神、有丰富的学习资料、有著名的开源项目代码我们也可以在 GitHub 中增长自己的技术能力、渲染自己的简历甚至搭建自己的个人博客或者网站。此外最重要的也是 GitHub 的核心亮点那就是我们可以在 GitHub 上同世界各地的伙伴协同开发项目而且简单、容易的让人难以置信。那么你准备好了吗现在就让我们一起敲开 GitHub 的大门进入 GitHub 的世界吧
GitHub常用术语
Repository简称Repo可以理解为“仓库”我们的项目就存放在仓库之中。也就是说如果我们想要建立项目就得先建立仓库有多个项目就建立多个仓库。Issues可以理解为“问题”举一个简单的例子如果我们开源一个项目如果别人看了我们的项目并且发现了bug或者感觉那个地方有待改进他就可以给我们提出Issue等我们把Issues解决之后就可以把这些Issues关闭反之我们也可以给他人提出Issue。Star可以理解为“点赞”当我们感觉某一个项目做的比较好之后就可以为这个项目点赞而且我们点赞过的项目都会保存到我们的Star之中方便我们随时查看。在 GitHub 之中如果一个项目的点星数能够超百那么说明这个项目已经很不错了。Fork可以理解为“拉分支”如果我们对某一个项目比较感兴趣并且想在此基础之上开发新的功能这时我们就可以Fork这个项目这表示复制一个完成相同的项目到我们的 GitHub 账号之中而且独立于原项目。之后我们就可以在自己复制的项目中进行开发了。Pull Request可以理解为“提交请求”此功能是建立在Fork之上的如果我们Fork了一个项目对其进行了修改而且感觉修改的还不错我们就可以对原项目的拥有者提出一个Pull请求等其对我们的请求审核并且通过审核之后就可以把我们修改过的内容合并到原项目之中这时我们就成了该项目的贡献者。**Merge**可以理解为“合并”如果别人Fork了我们的项目对其进行了修改并且提出了Pull请求这时我们就可以对这个Pull请求进行审核。如果这个Pull请求的内容满足我们的要求并且跟我们原有的项目没有冲突的话就可以将其合并到我们的项目之中。当然是否进行合并由我们决定。**Watch**可以理解为“观察”如果我们Watch了一个项目之后如果这个项目有了任何更新我们都会在第一时候收到该项目的更新通知。**Gist**如果我们没有项目可以开源或者只是单纯的想分享一些代码片段的话我们就可以选择Gist。不过说心里话如果不翻墙的话Gist并不好用。
git的基本使用
相信大家对github有了一定的了解了那么让我们来看看在我们平时打代码的时候他是如何使用的吧我们的mac电脑是自带git的不需要下载可以直接使用。
打开任意一个命令行窗口输入git --version查看版本
即使是window下载安装git也很简单推荐看这篇帖子windows安装git
初识git
在我们的使用git和github的流程中我们通常是先建立一个本地文件夹然后初初始化这个文件夹为git仓库gitinit。然后我们在这个文件夹中加入一些我们要上传的文件并将这个文件添加到临时仓库中git add .直接拖过来只是在文件夹中而不在仓库中。最后我们需要将临时仓库的东西提交的本地仓库git commit -m 上传文件名然后我们的本地仓库就建好啦
基本命令学习
在这一部分我们先把一些基本的命令来认识一下建议大家跟着我手动打一下这样更能加深映像
第 1 个命令**git status**在命令行窗口的光标处输入git status命令查看仓库的状态 如上图所示结果显示demo不是一个 Git 仓库这是很正常的反应因为我们还没有在计算机中声明demo为 Git 仓库之前说demo是 Git 仓库只是我们口头上的说的计算机当然不会认可。
第 2 个命令**git init**在命令行窗口的光标处输入git init命令初始化 Git 仓库 如上图所示结果显示已经初始化demo为一个空的 Git 仓库啦在这里大家可以会有些疑问因为我们在建立demo目录的同时也在里面新建了一个名为hit.txt的文件怎么初始化仓库之后demo目录就变成空的了呢这个问题稍后解惑我们重新输入git status命令检查一下仓库的状态 如上图所示在我们初始化仓库之后demo目录已经成为一个 Git 仓库了并且默认进入 Git 仓库的master分支即主分支。在这里我们需要注意的是Untracked fies提示它表示demo仓库中有文件没有被追踪并提示了具体没有被追踪的文件为hit.txt还提示了我们可以使用git add命令操作这个文件简直不要太好
第 3 个命令**git add** 在命令行窗口的光标处输入git add .命令(这里.代表将所有文件提交如果要指定文件直接将名字写上即可如git add 44 美丽塔2.md)将 44 美丽塔2.md 文件添加到 Git 仓库 如上图所示如果没有报错就说明命令已经执行啦接下来输入git status命令查看仓库状态 如上图所示已经显示Initial commit初始化提交了同时已经没有Untracked files提示了这说明文件44 美丽塔2.md 已经被添加到 Git 仓库了而在我们没有进行git add操作之前文件44 美丽塔2.md 并不被 Git 仓库认可因此才会出现提示初始化仓库为空的现象。在这里需要声明一点那就是git add命令并没有把文件提交到 Git 仓库而是把文件添加到了「临时缓冲区」这个命令有效防止了我们错误提交的可能性。
第 4 个命令**git commit**在命令行窗口的光标处输入git commit -m 44 美丽塔2.md命令将hit.txt文件提交到 Git 仓库 如上图所示我们成功将文件44 美丽塔2.md提交到了 Git 仓库其中commit表示提交-m表示提交信息提交信息写在双引号内。接下来再输入git status命令查看仓库状态 如上图所示结果显示nothing to commit, working tree clean这表示已经没有内容可以提交了即全部内容已经提交完毕。第 5 个命令**git log**在命令行窗口的光标处输入git log命令打印 Git 仓库提交日志 如上图所示显示了我们的提交记录提交记录的内容包括Author提交作者、Date提交日期和提交信息。通过以上的操作我们会发现一个现象那就是在每个git操作之后我们基本都会输入git status命令查看仓库状态。这也从侧面说明了git status命令使用的频率之高也建议大家在操作 Git 仓库的时候多使用git status命令这能帮助我们实时了解仓库的状态显然非常有用。
第 6 个命令**git branch**在命令行窗口的光标处输入git branch命令查看 Git 仓库的分支情况 如上图所示显示了仓库demo中的分支情况现在仅有一个master分支其中master分支前的号表示“当前所在的分支”例如 master就意味着我们所在的位置为demo仓库的主分支。输入命令git branch a再输入命令git branch结果如下图所示 如上图所示我们创建了一个名为a的分支并且当前的位置仍然为主分支。
第 7 个命令**git checkout**在命令行窗口的光标处输入git checkout a命令切换到a分支 如上图所示我们已经切换到a分支啦也可以通过命令git branch查看分支情况 此外我们也可以在创建分支的同时直接切换到新分支命令为git checkout -b例如输入git checkout -b b命令 如上图所示我们在a分支下创建b分支b为a的分支并直接切换到b分支。
第 8 个命令**git merge**切换到master分支然后输入git merge a命令将a分支合并到master分支 如上图所示我们已经将a分支合并到主分支啦此外在这里需要注意一点那就是在合并分支的时候要考虑到两个分支是否有冲突如果有冲突则不能直接合并需要先解决冲突反之则可以直接合并。
第 9 个命令**git branch -d git branch -D**在命令行窗口的光标处输入git branch -d a命令删除a分支 如上图所示我们已经将分支a删除啦不过有的时候通过git branch -d命令可以出现删除不了现象例如分支a的代码没有合并到主分支等这时如果我们一定要删除该分支那么我们可以通过命令git branch -D进行强制删除。
第 10 个命令**git tag**在命令行窗口的光标处输入git tag v1.0命令为当前分支添加标签 如上图所示我们为当前所在的a分支添加了一个v1.0标签。通过命令git tag即可查看标签记录 如上图所示显示了我们添加标签的记录。通过命令git checkout v1.0即可切换到该标签下的代码状态 如上图所示我们已经成功切换到a分支的v1.0标签啦todo
通过git远程提交到github
好我们准备好了仓库就可以把仓库中的内容推送到github啦
首先我们将本地的仓库推送到github肯定是要连接github账号密码但是如果每次都要输入账号和密码肯定很麻烦不过只要我们配置ssh密钥我们就能免密推送本地内容啦。
Github连接git ssh密钥
第一步输入一下命令然后点三下回车
ssh-keygen -t rsa生成后会出现以下内容 第二步此时我们的密钥文件已经生成输入
open ~/.ssh会自动打开.ssh文件我们的密钥就生成在了这个文件下然后我们点击id_rsa.pub复制里面的密钥 第三步复制到github中title可以不写 第四步查看是否绑定成功输入ssh -T gitgihub.com 推送远程仓库pull和push
到这一步我们已经完成了本地 Git 与远程 GitHub 的绑定这意味着我们已经可以通过 Git 向 GitHub 提交代码啦但是在进行演示之前我们需要先了解两个命令也是我们在将来需要经常用到的两个命令分别为 push 和 pull 。push该单词直译过来就是“推”的意思如果我们本地的代码有了更新为了保持本地与远程的代码同步我们就需要把本地的代码推到远程的仓库代码示例
git push origin masterpull该单词直译过来就是“拉”的意思如果我们远程仓库的代码有了更新同样为了保持本地与远程的代码同步我们就需要把远程的代码拉到本地代码示例
git pull origin master此外在之前我们讲到过pull request在这里估计大家就能更好的理解了它表示如果我们fork了别人的项目或者说代码并对其进行了修改想要把我们的代码合并到原始项目或者说原始代码中我们就需要提交一个pull request让原作者把我们的代码拉到 ta 的项目中至少对于 ta 来说我们都是属于远程端的。一般情况下我们在push操作之前都会先进行pull操作这样不容易造成冲突。
基本步骤
对于向远处仓库GitHub提交代码我们可以细分为两种情况
第一种本地没有 Git 仓库这时我们就可以直接将远程仓库clone到本地。通过clone命令创建的本地仓库就是直接clone的github中的项目其本身就是一个 Git 仓库了不用我们再进行init初始化操作啦而且自动关联远程仓库。我们只需要在这个仓库进行修改或者添加等操作然后commit即可。步骤
首先我们先从github上克隆一个项目
# http:// ... 这个是仓库的链接打开创建的仓库就能看到如下图
git clone https://github.com/xinghengstar/test.git添加到临时仓库中
# * 和 . 都可以
git add * 提交的本地仓库
git commit -m 文件名将本地仓库推送到本地仓库
git push origin master第二种本地有 Git 仓库并且我们已经进行了多次commit操作。
初始化库
git init添加到临时仓库
# * 和 . 都可以
git add * 提交的本地仓库
git commit -m 文件名连接远程仓库
git remote add origin https://github.com/guobinhit/springmvc-tutorial.git将本地仓库推送到本地仓库
git push origin master好了到这一步我们就成功推送到了远程仓库啦不过大家可能有疑问我们前面不仅仅说了git push而且还说了个git pull为什么这里没用呢
其实git pull 的作用是拉取代码什么意思呀拉取代码不是git clone 做的是吗怎么又变成了git pull 了其实这里的拉取指的是我们本地仓库已经上传到了远程github由于我们github时协作开发的这时仓库里的代码被同事提交修改了我们如果再提交我们现在的代码那不就把同事修改的内容给弄没了吗所以我们提交代码时要先拉取现在仓库的代码也就是被同事修改后的代码然后再提交自己的代码。其实这个问题就是我们常说的提交冲突
git pull origin master
git push origin master到这里如果还没理由提交上去通常原因有两个一个是分支名字不对自2021年github改版后github的仓库默认主分支改为了main而不是master所以我们这里要将master改为main第二个是即使我们之前配置了ssh密钥但是github为了安全第一次往仓库中提交还是需要输入账号密码但是这时其实又有bug因为我们发现输入账号密码他不会给提交并且他说需要tokentoken又是什么呢让我细细道来
第一次使用需要账号密码
如果大家第一次使用push他需要输入账号密码但是输入正确的账号密码后会报这样的错误他意思是说我们不能使用账号密码这种方式来绑定github了原因是自从21年8月13后不再支持用户名密码的方式验证了需要创建个人访问令牌(personal access token)。
解决方法
生成令牌
首先生成一个令牌←链接是官网教程也可以不点直接看下文。
点击Settings 点击左侧的Developer settings 点击Personal access tokens(个人访问令牌) 点击Generate new token 设置token信息 点击Generate token生成令牌 得到生成的令牌
将生成的令牌拷贝下来(不要拷贝我的拷贝你自己生成的!)切记切记自己**保存**下次你再打开就看不到了。
应用令牌
修改现有项目的url
git remote set-url origin https://your_tokengithub.com/USERNAME/REPO.git将your_token换成你自己得到的令牌。是你自己github的用户名是你的项目名称比如我的
git remote set-url origin https://ghp_JbWEvkrngxqqN1SudWXKZbQVvJNSz83c9veagithub.com/xinghengstar/test.git/ 其实上面的报错中就有提示不需要重新去找
fatal: unable to access https://github.com/USERNAME/REPO.git:然后再执行git push origin main世界又恢复原样啦这时也就意味着我们成功将代码上传到远程啦
GitHub和IDEA的配合使用
在我们使用idea这类JetBrains公司的IDE连接github方便上传代码的时我们如果是第一次使用经常会陷入许多bug在网上直接搜教程也没有具体能解决的下面我将系统带大家来在idea上连接github其他代码管理平台也同理
idea中链接github
点击settings设置 找到github找不到可以直接搜索 点击左上角加号点击Log In with Token 去github生成token
点击Settings 点击Developer settings 点击Personal access tokens(个人访问令牌) 点击Generate new token 点击Generate token生成令牌 得到生成的令牌
将生成的令牌拷贝下来(不要拷贝我的拷贝你自己生成的!)切记切记自己**保存**下次你再打开就看不到了。
输入Token点击Add Account即可连接上 添加成功 上传
好连接好后我们就可以上传我们的代码啦
点击导航条VCS版本控制系统 点击 Create Git Respository创建git仓库 点击后导航条就会出现下面图标 点击对勾提交commit项目到本地仓库 点击后出现一下界面在左侧选择要提交的项目要提交的就勾选在commit message部分写本次提交的注释说明本次项目修改了什么等等 点击提交commit出现以下页面点击Define remote设置路径 这是路径时需要先看好它的主分支是什么否则就会自动创建分支导致没有推送到主分支。
idea默认推送分支是master但github在2021年改版后将主分支默认设置为了main所以我们需要现将github中的主分支修改为master
方式一修改所有仓库默认分支为master然后重新建立一个项目这时它的主分支就是master 方式二如果已经创建仓库这样修改 点击url设置github中的仓库路径
路径获取打开github仓库点击Code然后就会出现以下界面将https://github.com/…/…复制 将复制的路径填入URL中 点击OK即可成功
同步github和idea中的项目 小技巧
github上的组件感觉和中国人的脑回路不同很多东西都需要好好找才能找到下面我介绍一些常见的功能使用
删除仓库
说实话github仓库的删除键很隐蔽点开仓库点击仓库的setting设置然后一直往下滑直到底层出现点击Delete this repository即可
查看自己关注的人
查看关注也是非常隐蔽哭死
点击头像 - 点击my repository主页 - 点击follow github运营 主页打造
这是我的初步主页等我在完善完善会给大家出一期打造主页的帖子
待定…
后续会持续补充这一块
优秀项目推荐
程序员常用书籍资源程序员各个技术方向的常使用的书籍项目推荐这个项目会给我们推荐一下优质的项目后续还会给大家推荐我觉得优秀的项目
好啦github的基础保姆级教程到这里就结束了如果大家觉得有收获的话希望可以给我点一个小小赞感激不尽
后续我会持续完善 git 和 github的相关内容大家敬请期待