使用token上传git项目
0、在github创建token
2021年开始,取消远程推送时账号密码登录方式,转而用token代替,token可以在Github中生成
可以把token直接添加远程仓库链接中,这样就可以避免同一个仓库每次提交代码都要输入token了
- 已关联远程库前提下:
git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
<your_token>
:换成你自己得到的token
<USERNAME>
:是你自己github的用户名
<REPO>
:是你的仓库名称
- 未关联远程库前提下:
git remote add origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
1、在github创建仓库
写相应信息后点击create repository即可
- Repository name: 仓库名称(输入名字,最好不要使用中文)
- Description(可选): 仓库描述介绍
- Public, Private : 仓库权限(公开共享,私有或指定合作者)
- Initialize this repository with a README: 添加一个README.md
- gitignore: 不需要进行版本管理的仓库类型,对应生成文件.gitignore
- license: 证书类型,对应生成文件LICENSE
上传本地文件到git法1
(1)mac命令行进入项目文件夹,windows文件夹内右键打开git bash,接下来就到本地操作了,首先右键你的项目,如果你之前安装git成功的话,右键会出现两个新选项,分别为Git Gui Here,Git Bash Here,这里我们选择Git Bash Here,进入如下界面,Test_Bluetooth即为我的项目名。
(2)接下来输入如下代码(关键步骤),把github上面的仓库克隆到本地git clone https://github.com/CKTim/BlueTooth.git(https://github.com/CKTim/BlueTooth.git替换成你之前复制的地址)
(3)这个步骤以后你的本地项目文件夹下面就会多出个文件夹,该文件夹名即为你github上面的项目名,如图我多出了个Test文件夹,我们把本地项目文件夹下的所有文件(除了新多出的那个文件夹不用),其余都复制到那个新多出的文件夹下,
(4)接着继续输入命令 cd Test,进入Test文件夹
(5)接下来依次输入以下代码即可完成其他剩余操作:
git add * (注:别忘记后面的.,此操作是把Test文件夹下面的文件都添加进来)
git commit -m "提交信息" (注:“提交信息”里面换成你需要,如“first commit”)
git push -u origin master (注:此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码)
上传本地文件到git法2
(1)我们需要先创建一个本地的版本库(其实也就是一个文件夹)。你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建。现在我通过命令行在桌面新建一个TEST文件夹(你也可以在其他任何地方创建这个文件夹),并且进入这个文件夹
(2)通过命令git init
把这个文件夹变成Git可管理的仓库,这时你会发现TEST里面多了个.git文件夹,它是Git用来跟踪和管理版本库的。如果你看不到,是因为它默认是隐藏文件,那你就需要设置一下让隐藏文件可见。
(3)这时候你就可以把你的项目粘贴到这个本地Git仓库里面(粘贴后你可以通过git status
来查看你当前的状态),然后通过git add 文件名
把项目添加到仓库(或git add .
把该目录下的所有文件添加到仓库,注意点是用空格隔开的)。在这个过程中你其实可以一直使用git status
来查看你当前的状态。
(4)这里提示你虽然把项目粘贴过来了,但还没有add到Git仓库上,然后我们通过git add .
把刚才复制过来的项目全部添加到仓库
(5)用git commit -m "xxxxxxx"
把项目提交到仓库。
(6) -m后面引号里面是本次提交的注释内容,这个可以不写,但最好写上,不然会报错,详情自行Google。 好了,我们本地Git仓库这边的工作做完了,下面就到了连接远程仓库(也就是连接Github),由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下:
(7)创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建。
ssh-keygen -t rsa -C "youremail@example.com" 注意ssh-keygen之间没有空格
(8)然后回车,询问保存key的位置,默认是在括号里的路径下,你可以修改,也可以不做修改。如下图所示:
(9)这里不修改,回车,提示已存在,是否覆盖。因为我这是第二次,所以有这个提示如下题所示:
(10)输入Y,回车,提示输入密码,如下图所示:
(11)为了不必要麻烦,还是不要设置密码,因为容易忘记,不输入密码,回车,如下图所示:
(12)确认密码不输入,回车,如图所示:
(13) 出现上图结果,表明创建key成功!这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件
(14)登录Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。具体步骤也可看下面:
(15)在Github上创建一个Git仓库。你可以直接点New repository来创建,比如我创建了一个TEST2的仓库(因为我里面已经有了一个test的仓库,所以不能再创建TEST仓库)
(16)在Github上创建好Git仓库之后我们就可以和本地仓库进行关联了,根据创建好的Git仓库页面的提示,可以在本地TEST仓库的命令行输入:
git remote add origin https://github.com/guyibang/TEST2.git
(17)关联好之后我们就可以把本地库的所有内容推送到远程仓库(也就是Github)上了,通过:
git push -u origin master
由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了:
git push origin master
上传项目的过程可能需要等一段时间,完成之后是这样的:
(18)另外,这里有个坑需要注意一下,就是在上面第七步创建远程仓库的时候,如果你勾选了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
1、输入下边的命令
1.3拉取仓库内容到本地
(1)创建后如果选择了生成readme等文件,先把远程文件拉取到本地
取回origin
主机的master
分支。
get fetch origin master
所取回的更新,在本地主机上要用”远程主机名/分支名”的形式读取。比如origin
主机的master
分支,就可以用origin/master
读取。
git branch
命令的-r
选项,可以用来查看远程分支,-a
选项查看所有分支。
$ git branch -r
origin/master
$ git branch -a
* master
remotes/origin/master
上面命令表示,本地主机的当前分支是master
,远程分支是origin/master
。
取回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支。
$ git checkout -b newBrach origin/master
上面命令表示,在origin/master
的基础上,创建一个新分支:newBrach。
此外,也可以使用git rebase
命令,在本地分支上合并远程分支。
git rebase origin/master
上面命令表示在当前分支上,合并origin/master
。