Linux下Git和GitHub环境的搭建

1.创建Github帐号  (name@server.com)

2.安装git

[root@cloud ~]# yum install git -y

3.生成ssh key,复制公钥

[root@ray ansible]# ssh-keygen -t rsa -C 'name@server.com'

[root@ray .ssh]# cat ~/.ssh/id_rsa.pub

4.登陆github setting-->ssh and gpg keys-->new ssh key-->粘贴公钥

5.测试ssh key是否部署成功

[root@ray ansible]# ssh -T git@github.com

6.配置git

[root@cloud ~]# git config --global core.editor vim
[root@ray ansible]# git config --global user.eamil 'name@server.com' # 邮箱
[root@ray ansible]# git config --global user.name 'Raylively' # 用户名 # 查看配置
[root@cloud ~]# git config --list
[root@cloud ~]# cat ~/.gitconfig

工作区: 编写程序的目录

# 创建全新的工作目录
[root@cloud ~]# git init py3 # 使用已经存在的目录,在目录下执行如下命令
[root@cloud py3]# git init . # 查看版本库.git
[root@cloud py3]# ls -A   # 查看状态
[root@cloud py3]# git status # 添加文件到暂存区
[root@cloud py3]# git add files # 加入指定文件
[root@cloud py3]# git add . # 加入全部文件 # 删除暂存区文件
[root@cloud py3]# git rm --cached files # 提交
[root@cloud py3]# git commit
[root@cloud py3]# git commit -m 'second commit' # 查看提交历史
[root@cloud py3]# git log

暂存区:保存工作区文件到版本库之间的缓冲地带

版本库:保存每次提交的代码。(工作区中的.git目录就是版本库)

分支管理

# 创建一个本地分支: git branch <新分支名字>
[root@cloud py3]# git branch b1 # 将本地分支同步到GitHub上面: git push <本地仓库名> <新分支名> #切换到新建立的分支: git checkout <新分支名>
[root@cloud py3]# git checkout b1 # 合并分支到master
[root@cloud py3]# git checkout master
[root@cloud py3]# git merge b1 #为你的分支加入一个新的远程端: git remote add <远程端名字> <地址> #查看当前仓库有几个分支: git branch
[root@cloud py3]# git branch #从本地删除一个分支: git branch -d <分支名称>
[root@cloud py3]# git branch -d b1 #同步到GitHub上面删除这个分支: git push <本地仓库名> :<GitHub端分支>

切换到某一版本(如果需要修改,创建一个分支)

[root@cloud py3]# git log
[root@cloud py3]# git checkout <版本序列>

2 利用Git从本地上传到GitHub

  1. 进入要所要上传文件的目录, 输入命令 git init
  2. 创建一个本地仓库origin,使用命令 git remote add origin git@github.com:your_name/yourRepo.git,your_name是你的GitHub的用户名,yourRepo是你要上传到GitHub的仓库
  3. 比如你要添加一个文件xxx到本地仓库,使用命令 git add xxx,可以使用 git add . 自动判断添加哪些文件
  4. 然后把这个添加提交到本地的仓库,使用命令 git commit -m "说明这次的提交"
  5. 最后把本地仓库origin提交到远程的GitHub仓库,使用命令 git push origin master

3 从GitHub克隆项目到本地

  1. 到GitHub的某个仓库,然后复制右边的那个(HTTPS clone url)
  2. 回到要存放的目录下,使用命令 git clone https://github.com/your_name/yourRepo.git,your_name是你的GitHub的用户名,yourRepo是你要clone的仓库
  3. 如果本地的版本不是最新的,可以使用命令 git fetch origin,origin是本地仓库
  4. 把更新的内容合并到本地分支,可以使用命令 git merge origin/master
  5. 如果你不想手动去合并,那么你可以使用: git pull <本地仓库> master 这个命令来拉去最新版本并自动合并

4 GitHub的分支管理

创建分支

  1. 创建一个本地分支: git branch <新分支名字>
  2. 将本地分支同步到GitHub上面: git push <本地仓库名> <新分支名>
  3. 切换到新建立的分支: git checkout <新分支名>
  4. 为你的分支加入一个新的远程端: git remote add <远程端名字> <地址>
  5. 查看当前仓库有几个分支: git branch

删除分支

  1. 从本地删除一个分支: git branch -d <分支名称>
  2. 同步到GitHub上面删除这个分支: git push <本地仓库名> :<GitHub端分支>

5 常见错误

如果出现报错为ERROR: Repository not found.fatal: The remote end hung up unexpectedly则代表你的 origin 的url 链接有误,可能是创建错误,也可能是这个 git@github.com:xxx/new-project.git url 指定不正确。重新创建。

命令行下:
echo "# Blog" >> README.md

git init
git add README.md

git commit -m "first commit"

git remote add origin https://github.com/Raylively/Blog.git

git push -u origin master

修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题

最后面添加:

StrictHostKeyChecking no

UserKnownHostsFile /dev/null

# 克隆版本库
git clone git@github.com:Raylively/q_a.git

# 上传文件

git add filename

git commit -m "add filename"
git push origin master

首先进入你的master文件夹下, Git Bash Here ,打开命令窗口

$ git --help                                      # 帮助命令

$ git pull origin master                    # 将远程仓库里面的项目拉下来

$ dir                                                # 查看有哪些文件夹

$ git rm -r --cached target              # 删除target文件夹
$ git commit -m '删除了target'        # 提交,添加操作说明

fatal: 远程 origin 已经存在。

此时只需要将远程配置删除,重新添加即可;

git remote rm origin

git remote add origin https://github.com/***/WebCrawlers.git

linux 下使用github的更多相关文章

  1. Linux下的GitHub安装与简单配置教程 ~ 转载

    Linux下的GitHub安装与简单配置教程   1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...

  2. Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理

    这是搭建个人博客系统系列文章的最后一篇,如果你是从第一篇一路跟下来的,那么恭喜你,即将完成整个博客网站的搭建.OK,话不多说,开始我们的收官之战. 不知你想过没有,如果我们的文章少,一眼看完整个目录, ...

  3. Linux下使用 github+hexo 搭建个人博客06-next主题接入数据统计

    之前说了 next 主题的优化和接入评论系统.让我们完成了自己所需的页面风格和排版,也可让访问用户在每篇博文评论,完成博主和访问用户的交互. 本章我们继续讲解其他重要功能. 既然是一个网站,那么我们就 ...

  4. Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统

    静态站点拥有一定的局限性,因此我们需要借助于第三方服务来扩展我们站点的功能. 而评论系统是最常用于和网站用户交流的,因此本章讲解在 next 主题,如何接入评论系统. 参考网站:Next 使用文档,第 ...

  5. Linux下使用 github+hexo 搭建个人博客04-next主题优化

    上篇我们说了 hexo 的优化,针对的站点的优化. 本篇讲解 next 主题的优化,包括:使用语言.前端页面显示宽度.菜单.侧栏.头像.添加或取消动画效果.打赏功能等等. 让页面排版更符合我们所要的功 ...

  6. Linux下使用 github+hexo 搭建个人博客03-hexo配置优化

    上两张文章,我们说了 hexo 部署.主题的切换.博文的创建.MarkDown 简单使用和 hexo 部署到 GitHub Pages. 也说了我们会使用 next 主题做为我们后期博客的使用和维护. ...

  7. Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages

    之前的这篇文章<Linux下使用 github+hexo 搭建个人博客01-hexo搭建>,相信大家都知道怎么搭建 hexo ,怎么切换主题,并且完成了一篇博文的创建,以及 MarkDow ...

  8. Linux下使用 github+hexo 搭建个人博客01-hexo搭建

    为什么要搭建自己的博客系统? 原因有好几个吧,归类如下:1.自己搭建博客系统很有成就感,可以自己选定页面风格和页面排版: 2.自己搭建博客系统可以根据自己的需要添加各种插件功能,因此整体上比网上的第三 ...

  9. linux下git+github个人使用记录

    Linux: 安装git的命令: sudo apt install git 查看版本确认安装成功: git --version 生成密钥: ssh-keygen -t rsa -C "you ...

随机推荐

  1. linux内核exec过程

    简介 本文分析linux内核exec系统调用执行过程中可执行文件的加载过程和栈的设置,内核代码版本为2.6.32 分析 \arch\ia64\kernel\process.c中有sys_exec函数的 ...

  2. 第十三章 ZYNQ-MIZ701 TIMER定时器中断

      上篇文章实现了了PS接受来自PL的中断,本片文章将在ZYNQ的纯PS里实现私有定时器中断.每隔一秒中断一次,在中断函数里计数加1,通过串口打印输出. 本文所使用的开发板是Miz701 PC 开发环 ...

  3. JAVA中线程到底起到什么作用!

    这是javaeye上非常经典的关于线程的帖子,写的非常通俗易懂的,适合任何读计算机的同学. 线程同步 我们可以在计算机上运行各种计算机软件程序.每一个运行的程序可能包括多个独立运行的线程(Thread ...

  4. Kali Linux安装AWVS漏扫工具

    Acunetix是全球排名前三的漏洞发现厂商,其全称(Acunetix Web Vulnerability Scanner)AWVS是业内领先的网络漏洞扫描器,其被广泛赞誉为包括最先进的SQL注入和X ...

  5. Idea加载项目扫描完毕后自动退出

    问题描述:Idea平时好好的,突然就打开后扫描完毕后自动退出.网上说修改idea.exe.vmoptions文件的Xmx,还是不行. 后来根据http://www.pianshen.com/artic ...

  6. Redis 消息队列 初体验

    队列之生产者.消费者模式 using System; using System.Threading; using NServiceKit.Redis; namespace ConsoleApplica ...

  7. 故事板(StoryBoards)和动画(Animations)

    Silverlight & Blend动画设计系列五:故事板(StoryBoards)和动画(Animations) 正如你所看到的,Blend是一个非常强大的节约时间的设计工具,在Blend ...

  8. 如何演讲-摘录自TED

    一.首先,只传递一个主要思想  想法是个很复杂的东西,你要对你的内容做减法,突出重点,只关注一个主要思想,也就是你最富有热情的观点,利用机会好好的阐述它.你要给出案例,分享案例,生动阐述所以,找到一个 ...

  9. Vector , list 和 deque的区别

     vector   表示一段连续的内存区域,每个元素被顺序存储在这段内存中,对vector   的随机访问效率很高,但对非末尾元素的插入和删除则效率非常低.  deque    也表示一段连续的内存区 ...

  10. wepy 开发小程序, 为什么设置pages路径的时候总是找不到 js 文件?

    1,路径先检查仔细了 2,别说话,重新run 3,可能是版本问题,重新搭工程