一、安装git
1、windows下安装一个Git
2、lInux下yum(apt-get) install git
二、使用git连接github
使用git连接github时,需要将linux下产生的一个ssh公钥放到github上。
1)、生成公钥
ssh-keygen -t rsa -C"mail@mail.com"
然后系统提示输入文件保存位置等信息,连续敲三次回车即可,生成的SSH key文件保存在中~/.ssh/id_rsa.pub文件中。
2)获取公钥
linux下可以用cat命令显示id_rsa.pub中的内容(cat  ~/.ssh/id_rsa.pub),然后复制其内容。Windows下用文本编辑工具打开该文件,然后复制其内容。
3)粘贴到Github上

接着拷贝.ssh/id_rsa.pub文件内的所有内容,将它粘帖到github帐号管理中的添加SSH key界面中。

注1:使用vim读取git_home/.ssh/id_rsa.pub中的公钥内容时,可能会有较多的空格和换行,复制到github网站上时必需删除。所以建议使用cat来读取ssh公钥。将ssh公钥成功加入github后,可使用命令ssh -T git@github.com来验证是否成功。如果出现象:hi
xxx. You've successfully authenticated, but GitHub does not provide shell access.则说明连接成功。

注2:生成的ssh公钥要放在使用Git的账户下(非常不幸,我未能连接成功。可使用命令ssh -Tv git@github.com来查找failure的原因。通过详细的debug过程,我发现象我把自己的ssh密钥信息放到了/home/admin/.ssh/下,而测试时使用的账户是root,寻找ssh密钥的路径为root/.ssh,所以permission denied的啦。su到admin下,就可以连接成功啦~~)

3. 使用git与github管理代码

3.1 新建一个repository

这里就使用github官网上的教程吧。请保证git的版本至少为1.7.10,否则可能无法成功。详细如何使用,请参见:https://help.github.com/articles/set-up-git。linux下无法新建一个repo,只能对github中已有的repo进行修改。所以,当要新建一个repo时,必须在github.com上新建,再通过linux下的git向此repo中新添内容。

3.2 修改repo中的代码

github的官网上也有修改repo代码的教程。详情请参见:https://help.github.com/articles/fork-a-repo。简要步骤如下:

$git clone https://github.com/username/Spoon-Knife.git

$cd Spoon-Knife

$git add filename.py                          #添加文件到版本库

$git commit -m 'add filename.py to src'              #提交,产生版本记录,注意代码依然在本地

$vim README.md                             #修改Spoon-Knife中的README.md文件内容

$git commit -m 'modify the README.md'                #提交,产生版本记录,注意代码依然在本地

$git [remote] rm filename1.py                    #删除repo中的filename1.py文件

$git commit -m 'delete filename1.py'                 #提交,产生版本记录,注意代码依然在本地

$git push origin                            #将修改提交到github上<br>
3.3 常用git命令
git help                                 #可查看git的常用命令
git config --global user.name "Your Name Here"           #设置commit的署名
git config --global user.email "your_email@example.com"      #设置commit的email
git config [--local|--global|--system] --list/-l          #查看本地的global信息
git config [--local|--global|--system] --unset[-all] user.name  #删除user.name信息。如果user.name对应多个值,可用unset-all来删除
git remote add XXX https://github.com/username/repo_name.git    #设置github的连接
git clone git://github.com/your_account/aimed_repo.git       #复制一个repo到本地
git remote -v                               #查看本地设置的url连接信息
git status                                 #查看当前工作的
branch git branch                             #查看本地所有的
branch git branch -a                           #查看远程的所有分支
git branch -d branch_name                        #删除本地branch_name这一分支
git push origin --delete branch_name                   #删除名为branch_name的远程分支
git checkout branch_name                         #切换到名为branch_name的分支上
git chechout -b branch_name                       #在本地新建一个名为branch_nam的分支
git diff test_branch_name                        #查看当前branch与test_branch_name中代码的区别
git mv filename newfilename                      #文件重命名
git push XXX branch_name                        #上传指定的branch到远端
git pull                                  #将远程上的版本与本地版本进行合并,相当于get fetch + git merge
git reset --hard                             #将刚才进行的git pull所进行的操作取消,恢复本地版本合并前的原貌 复制代码

4. 如何删除github上的repository

github页面上删除repo的功能比较隐蔽,得在这里表一表。比如,想删除了一个名为python的repo。则需先点击进入“python”,单击“Settings”,找到“Delete this repository”,确认删除即可。注意,github上的repo删除后就不能恢复了哦~~


【git】Git的使用的更多相关文章

  1. error setting certificate verify locations: CAfile: E:/git/Git/mingw64/ssl/certs/ca-bundle.crt

    一.问题: 当git clone项目时报 error setting certificate verify locations: CAfile: E:/git/Git/mingw64/ssl/cert ...

  2. [git]git 分支

    什么动作,关键看你想完成什么 1. 添加新的远程分支: git push origin current_local_branch:new_remote_branch 2. 删除远程分支(冒号前必须要有 ...

  3. [git] git 的基本认知

    版本管理 ( Version Control ) 版本管理系统是一个记录文件变更的系统,让你在一段时间后可以恢复指定版本的文件.版本管理系统大致可分为三类:独立的本地版本管理系统.中心化版本管理系统. ...

  4. Git -> Can't start Git: git.exe

    问题描述 导入别人的PyCharm项目后提示:Can't start Git:git.exe 解决办法 Git就是个类似插件,在Git的官网上注册个账号然后每次编译就会自动把程序上传到网上备份.可以方 ...

  5. GIt -- git push 远程分支老是需要重新输入公钥密码问题处理?

     步骤: 先查看远程有哪些分支 删除远程分支,重新关联远程分支 最后再git push 到远程分支 git remote -v git remote rm RedisNote git remote a ...

  6. [git] git怎样fork一个repo

    描述 我定制了一下strongswan的工程.然后想把我自己的定制变成一个repo push到远端git.tong.com与大家分享. 这个时候,应该怎么做? 如果你用过github的话.那么你可以理 ...

  7. [skill][git] git 常用操作记录

    傻瓜入门: step by step : https://try.github.io/levels/1/challenges/1 一本书: https://git-scm.com/book/en/v2 ...

  8. [git]git project仓库迁移

    转自:https://segmentfault.com/q/1010000000124379 如果你想从别的 Git 托管服务那里复制一份源代码到新的 Git 托管服务器上的话,可以通过以下步骤来操作 ...

  9. can't start Git: git.exe

    can't start Git: git.exe :不能启动Git 这是因为Git的可执行文件的路径不正确,需要手动设置,. 找到设置Git的窗口 然后修改一下路径就行了 点击OK就可以了.

  10. IDEA 中 使用 git(Git)

    GitLab GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.安装方法是参考GitLab在GitHub上的Wiki页面. Git Git( ...

随机推荐

  1. Spring之bean后处理器

    Bean后处理器是一种特殊的Bean,容器中所有的Bean在初始化时,均会自动执行该类的两个方法.由于该Bean是由其它Bean自动调用执行,不是程序员手工调用,故此Bean无须id属性.需要做的是, ...

  2. 10 table标签

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  3. Akka-CQRS(14)- Http标准安全解决方案:OAuth2-资源使用授权

    上一篇讨论了SSL/TLS安全连接,主要是一套在通信层面的数据加密解决方案.但我们更需要一套方案来验证客户端.要把不能通过验证的网络请求过滤掉. OAuth2是一套行业标准的网络资源使用授权协议,也就 ...

  4. JavaScript 事件(捕获和冒泡 兼容性写法)

    事件    浏览器客户端上客户触发的行为都称为事件 所有的事件都是天生自带的 不需要人为绑定 只需要我们去触发通过obj.事件名=function(){} 我们给元素的事件绑定了一个方法 事件名:on ...

  5. 安装R和Rstudio后,Rstudio出现空白和fatal error问题

    解决方法: 1.一定要以管理员方式启动Rstudio 2.只能安装一个R版本,之前安装的其他版本需要卸载干净 3.R和Rstudio需要安装在同一目录下

  6. 透视BlueStore存储结构:如何根据文件名从裸盘提取文件内容

    在FileStore下,用户文件经过切分对象块后最终存放在了单机文件系统(xfs .ext4等)中,我们可以较容易地找到这些对象块对应的文件,然后提取这些对象块文件后组装成用户文件.然而,BlueSt ...

  7. Spring Boot 打包成的可执行 jar ,为什么不能被其他项目依赖?

    前两天被人问到这样一个问题: "松哥,为什么我的 Spring Boot 项目打包成的 jar ,被其他项目依赖之后,总是报找不到类的错误?" 大伙有这样的疑问,就是因为还没搞清楚 ...

  8. CDH CM元数据梳理,包括HIVE

      一.Schema SCM 表结构梳理(对应生产BAOFOO_SCM) AUDITS 登录信息.服务,角色重启.配置更改 PROCESSES 进程信息.这里面有很多信息.开放的web端口. HOST ...

  9. linux查看文件内容命令tail、cat、tac、head、echo

    1.tail tail -f test.log 你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, linux 如何显示一个文件的某几行(中间几行) 从第3000行开始,显示100 ...

  10. js动态生成数据的抓取

    需求:爬取https://www.xuexi.cn/f997e76a890b0e5a053c57b19f468436/018d244441062d8916dd472a4c6a0a0b.html页面中的 ...