Github如何上传本地项目

第一步:创建一个本地的版本库(其实也就是一个文件夹)。

右击新建文件夹,或者右击打开Git bash命令行窗口通过命令来创建。

现在通过命令行在桌面新建一个TEST文件夹(也可以在其他任何地方创建这个文件夹),并且进入这个文件夹

                                          

        

第二步:通过命令git init把这个文件夹变成Git可管理的仓库

       

这时TEST里面多了.git文件夹,它是Git用来跟踪和管理版本库的。如果看不到,是因为默认隐藏文件,需要设置一下让隐藏文件可见。(让隐藏的内容可见方法:组织-文件夹和搜索选项-查看-勾选上  显示隐藏文件 文件夹和驱动器即可)

-      

第三步:把项目粘贴到本地Git仓库里面(粘贴后可通过git status来查看当前的状态),然后通过git add把项目添加到仓库(或git add .把该目录下的所有文件添加到仓库,注意点是用空格隔开的)。在这个过程中可以一直使用git status来查看当前的状态。

       

       

这里提示虽然把项目粘贴过来,但还没有add到Git仓库上,然后我们通过git add .把刚才复制过来的项目全部添加到仓库上。

       

       

第四步:用git commit把项目提交到仓库。(注意 此处一定要加-m “主释内容”进入的vi编辑器模式
 否则报错 只能从头在来一次)

        

本地Git仓库搭好,下面就到了连接远程仓库(也就是连接Github)

由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下:

第五步:创建SSH KEY。看C盘用户目录下有没有.ssh目录,$ cd ~/.ssh 或cd .ssh 如果没有则提示: No such file or directory  如果有则进入~/.ssh路径下(ls查看当前路径文件,rm * 删除所有文件)看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建

   $ ssh-keygen -t rsa -C "[email protected]"

 

(注意一,引号里面的是注册github的邮箱 不要照抄

注意二,创建ssh-keygen需要在/c/Users/Administrator/创建 而不是当前git文件否则会提示ssh-keygen不是内部或者外部命令)    

代码参数含义:

-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。

以上代码省略了 -f 参数,因此,运行上面那条命令后提示输入一个文件名,用于保存刚才生成的 SSH key 代码,如:

Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

也可不输入文件名,使用默认文件名(推荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。

接着又会提示输入两次密码(该密码是push文件的时候要输入的密码,而不是github管理者的密码),

当然,可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了,如:

Enter passphrase (empty for no passphrase): 
# Enter same passphrase again:

接下来,就会显示如下代码提示,如:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]

如上代码所示,说明SSH key 已经创建成功,只需要添加到github的SSH key即可。)

在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件 (用编辑器打开id_rsa.pub文件复制里面的内容)

       

第六步:登录Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。具体步骤也可看下面:

       

       

   

第七步:在Github上创建一个Git仓库。

直接点New repository来创建,比如我创建了一个TEST2的仓库(因为我里面已经有了一个test的仓库,所以不能再创建TEST仓库)。

   

第八步:在Github上创建好Git仓库之后和本地仓库进行关联,根据创建好的Git仓库页面的提示,可以在本地TEST仓库的命令行输入:注意origin后面加的是你Github上创建好的仓库的地址。

$ git remote add origin https://github.com/guyibang/TEST2.git

        

      

    

 提示出错信息:fatal: remote origin already exists.

    解决办法如下:

    1、先输入$ git remote rm origin

    2、再输入$ git remote add origin 仓库地址”即可

第九步:关联好之后把本地库的所有内容推送到远程仓库(也就是Github)上了,通过:

$ git push -u origin master

由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了:

$ git push origin master

上传项目的过程可能需要等一段时间,完成之后是这样的:

        

重新刷新你的Github页面进入刚才新建的那个仓库里面就会发现项目已经成功上传了

     

$git push -u origin master在这一步可能出现的问题

A:报错类型

  ssh: Could not resolve hostname ssh.github.com: Name or service not known

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
make: * [deploy] 错误 128

解决方式1:
1, ping github.com
获取到github.com的ip为192.30.252.128
2, 在/etc/hosts中添加一行如下:

192.30.252.128 github.com   

解决方式2:

利用cmd命令操作:

1,ipconfig/flushdns --释放DNS缓存

2,netsh winsock reset --重置winsock目录

3,按照提示重新启动电脑

解决方式3:

1、重新在git设置一下身份的名字和邮箱 邮箱验证不要忘记 否则或一直提示错误

git config --global user.name "yourname"

git config --global user.email“[email protected]"

注:yourname是你要设置的名字,your@email是你要设置的邮箱。

2、删除.ssh文件夹(直接搜索该文件夹)下的known_hosts(手动删除即可,不需要git)

3、git输入命令

$ ssh-keygen -t rsa -C "[email protected]"(请填你设置的邮箱地址)

接着出现:

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):

请直接按下回车

然后系统会自动在.ssh文件夹下生成两个文件,id_rsa和id_rsa.pub,用记事本打开id_rsa.pub

将全部的内容复制

4、打开https://github.com/,登陆你的账户,进入设置

进入ssh设置

在key中将刚刚复制的粘贴进去

点击add ssh key,

ok!

5、在git中输入命令:

ssh -T [email protected]

然后会跳出一堆话。。

输入命令:yes

回车

然后就会提示成功了~~

B:报错类型

fatal: unable to access"https://github/pullgo/meituan.git/":error:1407742e:ssl routunes:ssl23_GET_SEEVER_HELLO:tlsvl alert protocol version

解决方式:

`git config --global --unset-all https.proxy`

对你不起作用。
然后检查环境变量http_proxy和https_proxy是否设置。使用此命令检查:-。

`env | grep -i proxy`

如果该变量被设置为某样东西,那么您可以使用以下方法取消它:-。

`https_proxy=""`

C:报错类型

$ git status
On branch master
nothing to commit, working tree clean

  1. 本地获取远程的变更(只是获取,尚未合并):git remote update 或者 git fetch origin
  2. 接着,git status -uno:可以让你看到当前分支是否领先/落后/分叉于它跟踪的远程分支
  3. 或者,git show-branch *master:可以让你看到所有名字最后是 master 的分支的 commits,因此你可以看到 origin/master 和 master 在 commits 层面上的差异
  4. 最后,git diff origin/master:可以让你看到 origin/master 和 master 在代码(文件)层面上的差异

至此就完成了将本地项目上传到Github的整个过程。

另外,这里有个坑需要注意一下,就是在上面第七步创建远程仓库的时候,如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第九步你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to  https://github.com/guyibang/TEST2.git的错。

      

这是由于新创建的仓库里面的README文件不在本地仓库目录中,可以通过命令先将内容合并:

$ git pull --rebase origin master

       

这时你push就能成功了。

总结:其实只需要进行下面几步就能把本地项目上传到Github

1、在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库;

2、把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库;

3、再通过git commit -m "注释内容"把项目提交到仓库;

4、在Github上设置好SSH密钥后,新建一个远程仓库,通过git remote add origin https://github.com/guyibang/TEST2.git将本地仓库和远程仓库进行关联;

5、最后通过git push -u origin master把本地仓库的项目推送到远程仓库(也就是Github)上;(若新建远程仓库的时候自动创建了README文件会报错,解决办法看上面)。

猜你喜欢

转载自blog.csdn.net/qq_39894133/article/details/79394952