Android studio工具 · 2016年11月22日 0

AS中Git与GitHub的使用入门

一直想把自己的写的开源小项目放到github中,这两天才花时间来学学Git。遇到些问题,百度了很多才解决。跟SVN一样,值得写一篇总结记录下,虽然上资源很多,但作为入门,自己遇到的写出来完全不一样。

一、 Git与GitHub的简单介绍

Git是一个开源的分布式版本控制工具。
GitHub是一个使用Git作为版本控制的项目托管平台,它是一个网站。
详细请参考:http://www.cnblogs.com/cocowool/archive/2012/02/17/2356125.html

二、 Git的安装

下载地址:https://git-scm.com/download/winhttps://git-for-windows.github.io/
安装时,全部默认选择即可。

三、 AS中配置Git与GitHub

1. Git的配置

在Settings设置中。
Path to Git executable: 【Git安装后的路径】
然后“Test”测试一下,成功才可以。
这里写图片描述

2. GitHub的配置

Host: github.com
Login: 【你的github用户名】
Password: 【github登录密码】
填好后,也进行“Test”测试一下,同样成功才可以。
这里写图片描述
测试完后按确定,会提示你是否设置密码,看个人需求。
这里写图片描述

四、 上传代码到GitHub

1. 创建GitHub仓库

在Github上创建一个仓库:
这里写图片描述

创建好后,将是这个样子,里面包括一个.gitignore忽略配置文件和一个README.md

这里写图片描述

git地址如下:
这里写图片描述

2. 创建Git本地仓库

选择工程 —— VCS —— ……
这里写图片描述

此时,VCS的5个图标显示出来了,且要提交的文件名都是暗红色
这里写图片描述

3. 把工程add添加到仓库

选择工程 —— 右键 —— Git —— Add
这里写图片描述

Add后待提交的文件名是绿色

4. commit提交

这里写图片描述

CommitMessage:填入提交说明信息。主要用于说明你做了哪些修改。

这里写图片描述

按Commit提交即可。
注:我每次都无法提交,commit后,进度对话框走到一半就立马消失了。解决办法见下面常见问题的“无法commit”。
提交后的文件颜色是灰白色。修改过的文件时淡蓝色

5. push推送到GitHub

Commit后会自动弹出Push推送窗口,点“Define remote”。
Name:默认origin
URL:就是github的网页地址,上面已提供获取方法
这里写图片描述

上面的界面操作,等同于Git Bash中使用命令:

git remote add origin https://github.com/zjun615/GitHubTest.git

这里写图片描述

然后“OK”再“Push”
注:我这里的Push也会出问题,见下面的解决方法
这里写图片描述

刷新github后,就能看到上传的工程文件:
这里写图片描述

五、 常见问题

1. 无法commit

因为会检查代码,就算没有错误,只有警告它也会让你无法提交。不会像单个文件的提交一样,提示你选择Review还是继续commit。所以就取消提交页面的“Perform code analysis”选项
这里写图片描述

2. 无法push推送

  • 现象:
    Push的时候,弹出错误信息:Push rejected,Push to origin/master was rejected
    这里写图片描述
    控制台输出的详细错误信息:
    这里写图片描述
  • 原因:
    通过上述错误信息,告诉我们github中有我们本地没有的文件,需要先pull。在VCS —— Git —— Pull
    这里写图片描述Pull也会报错:Git Pull Failed,fatal: refusing to merge unrelated histories
    这里写图片描述

    这里写图片描述

    也就是说直接pull也是不行的。并提示拒绝合并两个不相关的仓库

  • 解决办法:
    打开Git Bush。本地资源管理器的工程目录下,右键——Git Bush Here。或直接打开Git Bash,然后用cd命令打开工程目录。
    输入命令:git pull origin master –allow-unrelated-histories
    表示允许不相关的仓库合并。
    这里写图片描述
    此时,你可以看到工程中多了两个github中的两个文件
    这里写图片描述其中.gitignore文件是还没有添加的,需要添加然后提交。
    添加命令:git add .gitignore
    提交命令:git commit
    这里写图片描述

    添加后提交,会弹出提交的提示信息:
    这里写图片描述
    这里是VIM文本编辑器让你提交。操作命令:
    进入到输入状态:按i键
    从输入状态退出:Esc键 —— Shift+;键 —— wq!(保存并退出)或q!(不保存退出) —— Enter

    最后使用提交,命令:git push –u origin master
    这里写图片描述
    上面信息代表上传成功,去github看看就知道了。

    此问题困扰了我很久才解决,最主要的就是这条命令:
    git pull origin master –allow-unrelated-histories
    其他的命令都可以在界面上操作。
    参考:http://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories

3. 取消工程与Git的关联

在本地项目工程下有一个.git文件夹,删除即可。

 

转自:http://blog.csdn.net/a10615/article/details/52135617

Share this: