网上关于GitHub的使用教程还是比较丰富,不过部分教程比较陈旧抑或写得不够详细,在我实践的过程中遇到了一些麻烦,记录下来,当是自己的一个总结吧,也供大家参考。欢迎留言交流。

 

本文主要讲解Windows Msysgit软件平台的使用,windows的GitHub for Windows方式和苹果系统的Github或git方式也在用,这方面网上的教程比较丰富,也就不做过多阐述了,欢迎留言讨论。

 

Windows版本:

在windows中搭建Git环境使用Github有两种方式:

方式一:

GitHub for Windows 软件

方式二:

Msysgit软件,我用这种方式的时候不太顺利,于是分享出来

 

安装软件

1. 下载Git客户端

Git客户端下载地址 :https://code.google.com/p/msysgit/downloads/list 将地址复制到浏览器栏即可下载.

2. 安装Git客户端


下载上传代码
1.在GitHub上建立项目
在https://github.com/注册账号,注册成功后就可以免费创建公共项目了,也就是代码别人可以查看,开源思想嘛你懂的。如果需要私人空间,付费可以享受。登录GitHub后,你可以在右边靠中那里找到一个按钮“New Repository”,点击过后,填入项目名称、说明和网址过后就可以创建了,然后会出现一个提示页面,记下类似https://github.com/username/projectname.git的地址,这个就是你这个项目的地址了。PS:由于网上很多教程比较陈旧,地址还是git@github.com:username/projectname.git,会导致失败,具体地址是多少你可以通过在github上查看到,以查看到的地址为准。
2.配置Git以及上传代码
安装Git成功后,如果是Windows下,选择Git Bash,在命令行中完成一切,可能开始有点麻烦,不过就那几条命令行,用几次就记住啦。首先初始设置Git:

 git config --global user.name "username" 
 git config --global user.email “you@email.address”

然后开始进行最麻烦的一步了,你需要上传文件到GitHub的Git系统上,得需要一个SSH密匙来认证,下面就开始生成密钥和提交密钥。打开Git Bash,创建SSH key:

 ssh-keygen -C 'your@email.address' -t rsa

然后要你输入SSH密匙的存放位置,可以不管,直接回车使用默认路径。再输入你想要的密码,SSH key就生成了。现在你需要将这个Key提交到GitHub,首先打开Key保存的位置,里面会有三个文件,找到id_rsa.pub(隐藏文件),用文本编辑器打开,复制里面的全部字符。到GitHub,在右上方工具栏里找到Account Settings。在这个页面上有一个SSH Public Keys标签,选择Add another public key。Title可以随便填一个,Key就粘贴刚才的字符,提交。
完成这些工作后,就可以上传自己的代码了。找到自己要分享上传的代码文件夹,右击选择Git Bash,或者在Git Bash中进入这个文件夹。建立一个仓库:

git init

选择要添加进仓库的文件:

 git add .

一般如果你想分享这个文件夹里的所有代码,就在 add后面加“.”,上面的例子就是这样,如果传指定的,只需要把“.”改为文件名即可,现在只是选择了要加入仓库的文件,下面才是添加进入仓库:

git commit -m 'Test'


-m后面跟一个参数,表示说明,将代码提交到GitHub后,将会在代码文件信息上显示这个说明,如下图标记的地方。
搞了这么久,现在才开始把本地仓库上传到GitHub了,下面两行命令搞定问题:

 git remote add origin https://github.com/username/projectname.git 
 git push -u origin master


这个https://github.com/username/projectname.git就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。如果你要更新代码的话,就重复上面的吧。
如果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?重新修改过后上传依然有历史记录,而使用Git删除历史记录貌似很麻烦,于是就采用删除项目吧,删除了再重新上传。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除了。


可能遇到的问题解决:


如果输入$ git remote add origin https://github.com/username(github帐号名)/projectname(项目名).git
提示出错信息:fatal: remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$  git remote add origin https://github.com/username(github帐号名)/projectname(项目名).git就不会报错了!
3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section ‘remote.origin’. 需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!


如果输入$ ssh -T git@github.com
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。
解决办法如下:
1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。
2、如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to your authentication agent.解决方法是key用Git Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行来做。
3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。
如果输入$ git push origin master
提示出错信息:error:failed to push som refs to …….
解决办法如下:
1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来
2、再输入$ git push origin master
3、如果出现报错 fatal: Couldn’t find remote ref master或者fatal: ‘origin’ does not appear to be a git repository以及fatal: Could not read from remote repository.
4、则需要重新输入$git remote add origin https://github.com/username(github帐号名)/projectname(项目名).git
使用git在本地创建一个项目的过程

//创建一个项目hello-world 
$ makdir ~/hello-world 
//打开这个项目  
$ cd ~/hello-world
//初始化 
$ git init 
$ touch README
//更新README文件
$ git add README 
//提交更新,并注释信息“first commit”
$ git commit -m ‘first commit’
//连接远程github项目   
$ git remote add origin git@github.com:defnngj/hello-world.git
//将本地项目更新到github项目上去   
$ git push -u origin master

 

忽略文件

 

在仓库目录下新建一个名为.gitignore的文件(因为是点开头,没有文件名,没办法直接在windows目录下直接创建,必须通过右键Git Bash,按照linux的方式来新建.gitignore文件)。如下图所示.

.gitignore文件对其所在的目录及所在目录的全部子目录均有效。通过将.gitignore文件添加到仓库,其他开发者更新该文件到本地仓库,以共享同一套忽略规则。

Git入门篇之环境搭建&基本功能的使用_github git msysgit

Git入门篇之环境搭建&基本功能的使用_github git msysgit_02


对于安卓工程为例,我们不需要把bin/gen/目录的内容保存版本,用上述方法,在.gitignore文件里面添加:

bin/

gen/

Git让gitignore生效  

改动过.gitignore文件之后,在工程根目录下运行:

git rm -r --cached
git add .


之后可以进行提交

git commit -m "fixed untracked files"