git于github那些不得不说的秘密
问题源自于....闲时无聊在公司写啦个项目,想通过git上传到github上,然后回家直接从github上拉下来接着写,通过不同电脑关联同一个github仓库,同一台电脑多个本地项目关联到github上。
step:
如果你已经在本地创建了一个Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,那就需要用到SSH Key,github拿到了你的公钥就会知道内容是你推送的。
SSH Key的配置:
1.Windows下打开Git Bash,创建SSH Key,按提示输入密码,可以不填密码一路回车
$ ssh-keygen -t rsa -C "注册邮箱"
然后用户主目录/.ssh/下有两个文件,id_rsa是私钥,id_rsa.pub是公钥
2.获取key,打开.ssh下的id_rsa.pub文件,里面的内容就是key的内容
$ start ~/.ssh/id_rsa.pub
3.登录GitHub,打开"SSH Keys"页面,快捷地址:https://github.com/settings/ssh

4.测试ssh key是否成功,使用命令“ssh -T git@github.com”,如果出现You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
远程库与本地库之间的操作:
1.从远程克隆一份到本地可以通过git clone
Git支持HTTPS和SSH协议,SSH速度更快
$ git clone git@github.com:nanfei9330/xx.git
2.本地库关联远程库,在本地仓库目录运行命令:
$ git remote add origin git@github.com:nanfei9330/learngit.git
请替换为自己仓库的的SSH

3.推送master分支的所有内容
$ git push -u origin master
第一次使用加上了-u参数,是推送内容并关联分支。
推送成功后就可以看到远程和本地的内容一模一样,下次只要本地作了提交,就可以通过命令:
$ git push origin master
把最新内容推送到Github
=================实战一下吧======================
本地创建文本test.txt,运行:
$ git add text.txt $ git commit -m"添加新文件" $ git push origin master
然后就可以在github看到同步了
step:
- 新建一个远程的仓库(空的)

- 设置远程仓库的名字,并创建

切记:如果我们在创建远程仓库的时候添加了README和.ignore等文件,我们在后面关联仓库后,需要先执行pull操作
-
在本地创建一个本地的文件夹
![]()
在本地创建一个文件夹 -
利用终端进入当前的文件夹目录
cd /Users/Sunshine/Documents/大神班/练习/0721/helloTest![]()
用终端进入这个文件夹
- 初始化这个本地的文件夹为一个
Git可以管理的仓库注意:Git会自动为我们创建唯一一个git initmaster分支
我们能够发现在当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

- 将本地的仓库和远程的仓库进行关联
备注:git remote add origin git@github.com:YotrolZ/helloTest.gitorigin就是我们的远程库的名字,这是Git默认的叫法,也可以改成别的;git@github.com:YotrolZ/helloTest.git是我们远程仓库的路径(这里我们使用的github)

-
这样我们就可以开始在本地的文件夹中做事了,这里我们先创建一个
main.m文件-
新建文件
touch main.m -
将新建的main.m文件添加到仓库(这样git就会
追踪这个文件)git add main.m -
把文件提交到仓库
git commit -m "新建了一个man.m文件"
-

- 把本地库的内容推送到远程
git push -u origin master- 备注:
origin:远程仓库名字;master:分支 - 注意:我们第一次
push的时候,加上-u参数,Git就会把本地的master分支和远程的master分支进行关联起来,我们以后的push操作就不再需要加上-u参数了
- 备注:

- 我们用浏览器进入远程仓库中查看,发现远程仓库中也出现了
mian.m文件
![]()
远程仓库中也有了一个main.m文件
- 假如某天我们又对mian.m文件进行了修改(这里我们在main.m文件里面添加了一句"hello world")
![]()
修改main.m文件
- 我们可以利用
git status查看状态
![]()
查看状态
-
将文件添加到Git版本库,实际上就是把
文件修改添加到暂存区git add main.m -
提交修改,实际上就是把
暂存区的所有内容提交到当前分支。![]()
提交修改
- 再次查看状态
git status![]()
再次查看状态
- 把本地当前分支的最新修改推送至GitHub上的远程仓库
git push origin master![]()
将修改后的main.m文件push到远程仓库
- 利用浏览器在远程仓库查看,我们看到已经将本地上的修改推送到远程仓库了
![]()
在远程仓库中查看
总结
-
初始化一个本地Git仓库(把本地的文件夹初始化成一个Git可以管理的版本库)
git init注意:需让命令行终端处在
当前文件目录下 -
把文件添加到本地版本库
git add 文件名 -
把文件修改提交到仓库
git commit -m "注释" -
关联一个远程仓库
git remote add origin git@github.com:YotrolZ/helloTest.git -
将最新的修改推送到远程仓库
git push -u origin master- 注意:
1.每次push前要先进行git add 文件名和git commit -m "注释"
2.在第一次进行push时,我们加上-u参数,后期push时就不用再加-u参数
- 注意:
step:
在此记录下来对自己有用的部分,以便日后查看,如有雷同纯属巧合!!!










浙公网安备 33010602011771号