如何利用TortoiseGit将本地工程上传到GitHub上
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用TortoiseGit将本地工程上传到GitHub上相关的知识,希望对你有一定的参考价值。
假如现在我们用Eclipse新建了一个java工程,我们想把它托管到GitHub上面进行版本控制,该如何操作呢?通过TortoiseGit可以方便地将一个本地工程上传到GitHub中我们新建的某个仓库中,下面就给大家介绍一下具体的操作步骤。
假设我们的java工程放在目录D:\\\\Test中,那么我们进入Test文件夹中,右键菜单点击【Git Create repository here】,这时弹出一个对话框要我们选择是否勾选【Make it Bare】,如果勾选上的话表示我们在当前目录中只有git的repository文件夹和文件,代码工作区在另外的地方,也就是说git的仓库信息和代码是分开在不同的地方;如果不勾选【Make it Bare】的话,git的仓库和代码是处在同一个目录中进行管理。在这里我不勾选【Make it Bare】,创建完以后目录中多了个隐藏的文件夹.git,里面存放了git仓库的信息。
2
接下来我们配置一下Git的用户和邮箱信息,右键【TortoiseGit】——【Settings】,在弹出的Settings窗体中选择【Git】节点,然后在User Info中可以设置Name和Email,点击【应用】即可。
3
在Test目录中右键【Git Commit -> master】,弹出【Commit】窗体,在【Message】区域中填写备注信息,然后在【Changes made】中勾选上要提交的文件,然后点击【Commit&Push】按钮,弹出【Push】窗体。
4
在【Push】窗体中,Ref区域表示我们本地的仓库代码,Destination区域表示要推送到的目标仓库。Local中的master表示本地仓库的主分支,点击Remote右边的【Manage】按钮,进行远程仓库信息的设置。
5
在弹出的【Settings】窗体中,选中【Git】——【Remote】节点,在右侧区域中,Remote中表示我们给可以给我们要推送代码的远程仓库起一个别名,在这里我们叫做origin;URL是我们GitHub仓库的SSH地址;在【Putty Key】中我们选择之前用TortoiseGit中的工具puttygen.exe生成的private key。设置完这些以后点击【应用】按钮,然后点击【确定】按钮。
6
配置好远程仓库的信息后,我们在【Push】窗体中点击【OK】按钮,最后在提交窗体的信息中出现【Success..】的信息,表示我们已经将本地的java工程成功地上传到了GitHub的仓库中,接下来我们就可以利用git来对该工程进行版本控制了。
END
登录GitHub后,你可以在右边靠中那里找到一个按钮“New
Repository”,点击过后,填入项目名称、说明和网址过后就可以创建了,然后会出现一个提示页面,记下类似git@github.com:XXX/XXX.git的地址,这个就是你这个项目的地址了。
2.配置Git以及上传代码
安装Git成功后,如果是Windows下,选择Git Bash,在命令行中完成一切,可能开始有点麻烦,不过就那几条命令行,用几次就记住啦。首先初始设置Git:
1 git config --global user.name "Your Real Name" 2 git config --global user.email you@email.address
然后开始进行最麻烦的一步了,你需要上传文件到GitHub的Git系统上,得需要一个SSH密匙来认证,下面就开始生成密钥和提交密钥。打开Git Bash,创建SSH key:
1 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中进入这个文件夹。建立一个仓库:
1 git init
选择要添加进仓库的文件:
1 git add .
一般如果你想分享这个文件夹里的所有代码,就在 add后面加“.”,上面的例子就是这样,如果传指定的,只需要把“.”改为文件名即可,现在只是选择了要加入仓库的文件,下面才是添加进入仓库:
1 git commit -m 'Test'
-m后面跟一个参数,表示说明,将代码提交到GitHub后,将会在代码文件信息上显示这个说明,如下图标记的地方。
搞了这么久,现在才开始把本地仓库上传到GitHub了,下面两行命令搞定问题:
1 2 git remote add origin git@github.com:XXX/XXX.git 3 git push -u origin master
这个git@github.com:XXX/XXX.git就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。如果你要更新代码的话,就重复上面的吧。
如果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?重新修改过后上传依然有历史记录,而使用Git删除历史记录貌似很麻烦,于是就采用删除项目吧,删除了再重新上传。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除了。
一些可能遇到的问题解决:
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git
提示出错信息:fatal: remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin git@github.com:djqiang/gitdemo.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 origingit@github.com:djqiang/gitdemo.git
使用git在本地创建一个项目的过程
$ makdir ~/hello-world //创建一个项目hello-world
$ cd ~/hello-world //打开这个项目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git commit -m ‘first commit’ //提交更新,并注释信息“first commit”
$ git remote add origin git@github.com:defnngj/hello-world.git //连接远程github项目
$ git push -u origin master //将本地项目更新到github项目上去本回答被提问者采纳
以上是关于如何利用TortoiseGit将本地工程上传到GitHub上的主要内容,如果未能解决你的问题,请参考以下文章
如何通过TortoiseGit(小乌龟)把本地项目上传到github上