Windows下使用Git Bash上传项目到GitHub

时间:2022-03-01 05:06:51

说明:
1、本章节不讲如何安装,不讲用户信息配置。
2、主要针对初学者,为了便于理解,尽量按我自己的分析,写得易于理解一些。本文分为两块,一块为第一次上传项目,和已上传过的项目如何下载,并如何再次提交。
3、本文主要重点在通过命令行的方式,环境在Windows 7,不涉及在Linux如何去操作的命令,也不会涉及到客户端的操作。希望这样不会被分散注意力。
4、之前有参考过一些博客,但大家碰到的问题不尽相同,只是希望能帮上忙吧。


第一部分 初次上传

1、先在GitHub网页端创建一个项目,包括README.md。这个不做多说,很简单。

2、随便在一个盘新建一个文件夹,比如我在E盘,文件夹名字叫GitHub。

3、我们打开Git Bash,cd到这个目录下。比如我的,在E盘,先cd到E盘下,cd e:,再进去,cd github ,不区分大小写。

4、将网页端已建好的项目下载下来,通过git clone 网址,在你GitHub新建的项目里就有。

Windows下使用Git Bash上传项目到GitHub

我的是https://github.com/sujiujiu/mybbs.git
所以就是

git clone https://github.com/sujiujiu/mybbs.git

。这时会自动生成你网页端已有的项目中的文件,如README.md.git文件夹、.gitignore文件。文件夹忘了截图,反正就是这么三个文件就对了。

Windows下使用Git Bash上传项目到GitHub

5、将要上传的项目所有文件放在与以上三个文件相同的目录下,注意了,这里我们不是文件夹,而是所有文件,如Python文件。这样是保证上传之后能保证点开来就是所有的文件,而不是一层又一层的文件夹。

Windows下使用Git Bash上传项目到GitHub

6、初始化一个仓库,

git init

Windows下使用Git Bash上传项目到GitHub

最后一行的意思就是在这个目录下创建并初始化了一个git的仓库。

7、如果是第一次上传项目,则所有的文件显示为红色,如图:

Windows下使用Git Bash上传项目到GitHub

然后我们使用

git add .

提交所有的文件,add和后面的小点是有空格的,然后就会出来很长的信息。

Windows下使用Git Bash上传项目到GitHub

8、添加注释,

git commit -m "message"

message就是你这次提交的内容,或者修改了什么,不过是个注释,让人能看懂而已。

Windows下使用Git Bash上传项目到GitHub

9、使用

git remove add origin https://github.com/sujiujiu/mybbs.git

这里是我的项目地址,你改成你的就好了。这个命令的作用在于你可以使用它将远程的仓库与本地的项目建立连接,但一定要在push命令之前 。

如果提示你已经存在就算了,我的就是,不用管,直接下一步吧,或者你也可以先执行

git remote rm origin

,然后再执行上面这条命令。git remote rm命令用于删除远程主机。这条命令等于就是重新连接。

Windows下使用Git Bash上传项目到GitHub

10、最后执行

git push -u origin master

待你看到100%的字眼就知道弄完了。

Windows下使用Git Bash上传项目到GitHub

我之前提示所有已更新,可我到网页端看并没有成功,后来重新弄了一遍。

Windows下使用Git Bash上传项目到GitHub

如果这一步提示error:failed to push som refs to……之类的,那是因为你本地没有readme文件,你可以尝试

git pull origin master

之后再重复push的命令。但如果仍不成功,建议重来,这就是为什么我们需要第三步的原因。我们需要下下来然后提交,而不是自己在本地创建。如果你有多个版本,那么久可以再建一个目录。

第二部分 更改完提交

将文件下载下来,并修改完再上传

如果代码在你当前使用的机子上没有,需要下下来,就这样:
1、同上第二步,切换到你所想要放文件的文件夹。
2、如上第三步,使用命令克隆下来。

git clone https://github.com/sujiujiu/mybbs.git


3、接下来有两种方法:

第一种:

1、获取远程更新

git fetch origin

2、把更新的内容与网页端的合并。

git merge origin/master

第二种:使用pull(pull=fetch+merge)

git pull origin master

而如果在本地已经有了,那么你可以先用这条命令查看哪些文件被改动了:

git status

然后使用命令提交你所改动的文件

git add +你改动的文件

再添加注释

git commit -m "message"

最后提交都用这个

git push origin master

我又碰到了一个问题,就是我上传完之后纳闷的发现,我明明是Python的项目,它却给我分类到了javascript。

Windows下使用Git Bash上传项目到GitHub

没办法,强迫症,就去Google了一下,原因是因为Github是根据项目里文件数量最多的文件类型来当做项目类型,那没办法,Python代码本来就少,前端项目数目自然会超过Python的代码。

普遍有两种解决办法:

一种是将项目中的静态文件放到别处用连接导入即可,这种使用的不多。

另一种使用的较多,就是通过使用.gitattributes配置文件,将静态文件如.js、css、html当作你想要的那门语言来统计。

用法基本就是这样:

*.js linguist-language=Python

因为考虑到既然我的是被替换成了JavaScript,只要改js部分就可以了,css和HTML可能不算特别多,所以只改了js,你也可以全都改了,写法一样,星号就是所有的js文件我让它强制性被当成Python处理。

Windows下使用Git Bash上传项目到GitHub

因为在Windows下并不好创建这个文件,你想想它的格式就知道了,按Windows的命名法它没有名字,只有后缀名,我看很多都是用命令行创建,比如touch/echo什么的,但其实GitHub官网上就可以创建文件啊。反正都上传上去了,为何我们还要去本地改了再提交呢?

Windows下使用Git Bash上传项目到GitHub

然后输入文件名和文件内容就可以了。

Windows下使用Git Bash上传项目到GitHub


参考链接:
1、http://www.cnblogs.com/ruofengzhishang/p/3842587.html这篇其实已经讲的蛮清楚了,是我自己遇到了一些别的问题,所以一直在重复。
2、http://blog.csdn.net/kingzone_2008/article/details/8533868这个命令讲的很详细,但没有init,我开始照着做差点忘了,而上面那个没有add,纯当我是结合了一下吧。
3、http://www.ruanyifeng.com/blog/2014/06/git_remote.html这个是git具体每条命令的作用,我其实也是在写博客的时候想要知道那些命令的写法及作用才搜到的,之前也没用到,不过挺有用的。
4、http://dyhdyh.com/archives/161.html修改Github上仓库的项目语言的解决办法