美文网首页
git/GitHub的一些基础操作

git/GitHub的一些基础操作

作者: 123早超 | 来源:发表于2019-04-30 21:36 被阅读0次

github.com基本功能

  1. 仓库Repository

  2. 收藏Star
    收藏他人的项目方便下次查看

  3. 克隆Fork
    克隆他人的仓库到自己的账户(独立于原来的那个)(分支)

  4. 发起请求Pull Request
    将自己的分支‘推荐’给他人,他人可以选择合并

  5. 关注Watch

  6. 事务卡片Issue
    提出bug,与其他用户交流

  7. Github主页、仓库主页与个人主页

Git基本命令

配置/初始化

git软件安装好后,需要使用命令行进行简单的配置(设置用户明和邮箱)
然后在你项目的文件夹内建立git仓库

git config --global user.name "username"
git config --global user.email user@example.com
//初始化全局用户名和邮箱

git config --list
//查看你的配置信息

git init
//在当前目录下建立git仓库

一些基本命令

这是使用git的一些基本命令。能够完成将编辑修改过的文件提交到本地仓库这种最基本的功能。

git add <file>
//将新文件添加到暂存区/将文件的修改提交到暂存区

git rm filename
//删除暂存区的文件

git checkout -- <file>
//撤销
/*将工作区的某文件还原到与暂存区(如果没有提交到暂存区,则是仓库的最新版本)一样的状态,即使是工作区理的这个文件被删除了也是可以的*/

git commit -m "提交描述"
//将所有暂存区的修改提交到仓库

git status
//查看状态

还有一些实用命令

git reset HEAD <file>
//这是将暂存区的修改撤销,清空暂存区
/*这里HEAD表示的是"最新版本"(其实是当前分支的当前版本)*/

git diff HEAD -- <file>
//查看工作区的文件与最新版本的区别

Git远程仓库

git远程仓库连接

远程仓库和本地仓库主要可以使用ssh和http两种协议来连接。

ssh

  1. ssh下远程仓库的地址
    格式为git@server-name:path/repo-name.git 例如git@github.com:zhaochao1234/mygit.git
  2. 建立ssh连接需要首先在用户主目录里生成ssh密钥
    首先在主目录下用以下命令生成密钥:
    ssh-keygen -t rsa -C "youremail@example.com"
    运行这个命令需要openSSH等程序的支持,通常的计算机默认都安装了;
    引号里时填写你的邮箱地址。
    然后目录里会生成一个名为.ssh的文件夹,文件夹里有id_rsaid_rsa.pub两个文件,它们分别是私钥和公钥,公钥是你可以让别人知道的。
    接着我们要把公钥的文本添加到你的GitHub账户里去,具体是在账户的settings对应的位置添加。
    一个GitHub账号可以添加多个公钥,以便于用户能在多台主机上工作。
  3. 在ssh协议下,在第一次push或者clone时,会收到一个警告,我们选择"Yes",那么github服务器的公钥就会被本机加入信任列表,在以后的clone或push中,便不会受到警告了。

http

  1. http下远程仓库的地址在github中就是仓库页面的地址例如https://github.com/zhaochao1234/mygit.git
  2. 通常对于初学者来说,使用http协议要更加简单一些,因为它是不需要像配置但是每次push时都要输入用户名密码。

推送到远程仓库

远程库的名字通常设置为origin

以下所有的命令的<url>选项,既可使用ssh协议的地址,又可使用http协议的地址,客户端将自动以对应的方式与远程仓库连接。

git remote add origin <url>
//添加远程仓库(将其名字设置为origin)

git push origin master
//将本地仓库的当前版本推送到远程origin仓库的master分支

添加远程仓库后,如果使用一次git push -u origin master命令进行推送,这个-u是将本地与远程的master分支自动关联了,此后每次提交只要git push就可以了。
如果是使用ssh协议,如果不是在生成密钥是设置了密码,那么在push时是不用输入密码的;但如果是使用HTTP协议,那么在每次push时都要输入用户名和密码。

克隆远程仓库

git clone <url>
//克隆远程仓库到本地仓库

如果使用ssh协议,由于需要密钥,所以是用户本人才能够成功;但如果时使用http协议,你可以从github上克隆任意的public项目到本地。

克隆远程仓库到本地

利用GitHub建立主页

能够利用GitHub搭建网页,你可以通过建立一个suername.github.io仓库用来搭建一个个人主页,还能为你的一个任意的仓库搭建一个项目站点。

搭建个人主页

  1. 创建username.github.io仓库
    这个仓库的名称只能是"用户名.github.io"的格式

  2. 仓库目录里必须有index.html文件,否则这个主页是无法打开的

  3. 访问主页的地址即是仓库的名称,即username.github.io

搭建项目主页

  1. 可以在项目的setting设置页面中快速搭建一个项目主页

  2. 也可以通过README.md文件实现快速搭建

  3. 这个主页表现为这个项目的一个名为gh-pages的分支

  4. 主页的访问地址是username.github.io/repositoryname

git版本回退

事实上,我们每次commit一次,都是创建了一个新的版本。git将各个版本穿成一条时间线。git的基本功能之一就是能实现版本回退。
需要补充的几点:

  1. HEAD是一个指针,指向的版本表示当前版本(当前分支的),如果还没有回退过的的话,就是指的最新版本。HEAD^是指当前版本的上一个版本,HEAD^^上两个版本,HEAD~100上100个版本;
  2. 每个版本都有一串commit id,是计算机自动生成的;
  3. 这里说的回退具体是指叫将HEAD指向指定版本,并将指定版本的内容替换到工作区,并清空暂存区;
git log
//查看个版本的信息

git reset --hard <版本>
//回退到指定版本
/*<版本>既可以用commit id(版本号)[的前几位]来表示,也可以用HEAD,HEAD^,HEAD^^,HEAD~100等关键字来表示*/

git reflog
//查看所有的历史命令
/*这对切换到未来(HEAD之后的版本)的版本有很大帮助,因为git log是无法显示未来版本的,而且形如"HEAD^"式的表示法也只能表示之前的版本*/

相关文章

网友评论

      本文标题:git/GitHub的一些基础操作

      本文链接:https://www.haomeiwen.com/subject/wdebnqtx.html