目录
一、上传github的第一种方法:
如果没有下载Git,那么首先需要下载Git,去官网上进行下载
下载完之后配置自己的github账号,邮箱和密码
git config --global user.name "yourname"
git config --global user.email "youremail"
git config --global user.password "yourpassword"
如果是第一次上传,还需要配置SSH秘钥,将秘钥添加到github上,
ssh-keygen -t rsa -C “your_email@example.com”
输入完之后一直点回车,会出现这个图
这就是已经生成SSH秘钥,然后去C盘下,点击用户,进入用户目录后点击自己账户的那个目录,会发现一个.ssh文件夹,进去后打开这个文件
在github上,点击用户头像,选择设置,左边的任务栏有个SSH and GPG keys
点击进去后,选择new SSH key
然后把刚才C盘下面的id_rsa.pub文件里的东西复制到里面,点提交就可以了。
接下来开始使用git命令提交
配置完之后,进入到Github上,点击 New repository新建一个项目Test,下面那个Add a README file 和 .gitgnore选不选随你的便.
创建完之后,会出现一个项目地址,可以选择用HTPPS格式,也可以用SSH格式
有时候不知道项目地址在哪,这样也可以获取到:
接下来就到本地操作了
首先随便新建一个文件夹,鼠标右键这个文件夹,我们选择 Git Bash Here,假如我的文件夹名字叫做code,里面有个代码叫test.py。(Ps:如果想把代码作为一个文件夹整体都提交上去,我建议先建立一个空文件夹,把代码文件夹放到空文件夹下面,然后对空文件夹进行git处理。)
然后对该文件夹进行初始化:git init
初始化完之后,将代码里的所有东西添加进来:git add .(add后面有个点不要忘记了!!!)
添加完之后可以使用 git status 查看一下
可以看到已经添加了一个新的文件
然后使用 git commit -m '提交信息',这个提交信息可以随便写
直到这一步,提交前的所有准备工作都已经完成了,现在就可以做提交的事情了
现在有一个问题,我们上面的操作都是在本地操作的,还没有和远程建立联系,没有建立联系它就不知道传到哪,所以我们需要和远程github建立的项目关联起来
我们使用的是这个命令进行关联,git remote add origin
后面画红线的这个地址其实是项目地址!刚才说了在创建新项目的时候,它会生成两个地址,一个是HTTPs地址,一个是SSH地址,使用这个命令的意思就是说,现在定义了一个指针叫 origin,它指向了你的项目Test,这个指针的名字可以自己随便起,通常叫origin。
关联上了之后,就可以用push命令进行推送了,这个命令输入完之后就会弹出让输入用户名和密码的弹窗,输入完就完成推送啦!!
origin的意思刚才解释过,就是一个指向远程仓库的指针,后面的那个master的意思是,现在是在主分支上面。什么是主分支什么是其他分支,意思就是说,在公司写代码的时候,最终给用户的那份代码在主线上,其他用户可以在支线上做一些操作,那这些支线的操作如果没有合并到主线上,那支线写的操作就是没有用的
在push的时候,有时候会出现
OpenSSL SSL_read: Connection was reset, errno 10054
或者
time out
的问题,可以多尝试几次,也可以用该博主写的方法Git报错解决:OpenSSL SSL_read: Connection was reset, errno 10054 错误解决_危险、的博客-优快云博客
二、上传github的第二个方法
假如现在已经在github上新建了一个项目Test,虽然它里面什么都没有,我们可以把这个项目下载下来,下载的命令就是:git clone
后面的地址还是项目地址,可以用HTTPs,也可以用SSH格式。下载完成后会多出一个Test文件夹。
克隆下来之后,我们就可以把要上传代码放到Test文件夹下面,然后我们对Test文件夹点击鼠标右键,选择git bash here。这个时候我们可以直接git add .(add后面有个点不要忘了!!!!),不需要再git init了,因为从github上clone下来的代码已经被init过了,所以直接add就行了。
然后继续使用刚才步骤,git commit -m "你要提交的信息"
然后,我们同样不需要再写git remote add origin xxxxxx.git 来指向你的远程项目了,因为从github上clone下来的项目,它会自动地指向远程项目,不信的话可以使用git remote -v 这个命令看一下
所以当写完commit的时候,直接写git push origin master就可以啦!
三、分支操作
假如我们现在要从分支上进行代码的操作,我们可以先查看有多少个分支
git branch -a
可以自己在github上自己建立分支,也可以在git bash中使用命令行建立,这一步是必须要有的,必须有分支,才能提交代码到该分支
git branch branch-1
假如说我要把代码push到分支上,首先需要做的先把分支切换到branch-1分支上面,只有切换到这个分支上面,你才能把代码上传到该分支。
git checkout branch-1
然后就还是按照上面两个操作的基本步骤,如果是第一个的话,需要init 和remote add 指向远程仓库,第二个的话,clone的时候需要在地址后面加上一个 -b branch-1
git clone 项目地址 -b branch-1
这样的话clone下来的代码就指向了branch-1这个分支上,然后其他的操作都一样
最后提交的时候,记得把主分支改成branch-1的分支
git push origin branch-1
以上就是把代码上传到主分支和其他分支的过程。
再补充一点,假如想把其他分支的代码合并到主分支上,首先需要把分支切换到主分支,原因还是一样的,只有切换到主分支,才能把代码上传到主分支!
git checkout master
然后选择要合并的分支
git merge branch-1
这个时候就把branch-1分支的代码合并到master下面了,前提是master分支的管理员允许你合并,否则会报错!
合并完之后就可以把代码提交到master了,一定要记住:提交到哪个分支,最后的分支名就写哪个分支
git push origin master
如果分支不需要了,可以进行删除分支
git branch -d branch-1
四、对齐操作
假如现在本地从github上已经clone了一份项目代码,但是现在github上的项目代码做了更新,可能是添加了一个代码文件,也可能是代码里的某几句话做了修改,这样就导致本地的项目代码和github上的代码不一致了,这个时候如果想要把本地的代码上传到github上,需要先进行对齐操作
git pull origin master #如果是其他分支,需要把master改成其他分支的名字
这句话的意思就是先把远程的代码和本地的代码保持一致,然后就可以对本地的代码做一些修改,之后再上传到远程。如果没有保持一致就把本地的代码上传到github上的话,会导致本地的代码把远程的代码给覆盖掉,这样会导致问题的发生。