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/win 或 https://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

 如果pull不成功,可以删除本地.gitignore文件,从github上面获取,然后在push

3. 取消工程与Git的关联

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

你可能感兴趣的:(android)