你电脑上的是本地仓库,用git init初始化的文件夹就变成了一个本地仓库。
在Github上建立一个Repository,得到一个repository的url。托管代码就是把用git remote add origin url
把Github上的远程仓库和本地仓库连接。
Repository远程仓库
在你的仓库中会有一个默认的名叫“master”的主分支,该分支用来存储你最终确定的版本代码。
我们用其他的子分支来进行编辑和更改,确定之后再提交到主分支。
分支管理
看到一个好玩的项目点一下旁边的分支可以把这个项目克隆成一个自己的repository,作为那个好玩的项目的一个分支。
- 分仓库的更新需要提交New pull request,并且通过审核才可以合并到主仓库上。
- 主仓库master上的内容一定会共享在其他分分支上。
Git命令行
在创建完成自己的库之后,就要让自己的电脑克隆一个自己所创建的库,方便自己电脑上的代码同步到GitHub你所创建的库当中。这需要Git命令行(Git Bash)
传送门
设置提交电子邮件地址
GitHub uses your commit email address to associate commits with your GitHub account.
配置git信息:
git config --global user.name "username"
git config --global user.email "[email protected]"
查看你配置的用户信息:
git config --global user.name
git config --global user.email
可以用设置的Primary email address,也可以用GitHub-provided noreply email address,那样可以让Primary email address保持私密(小小的眼睛露出大大的疑惑。。。)。
SSH Key
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。简单说,SSH是一种网络协议,用于计算机之间的加密登录。
使用密码登录,每次都必须输入密码,非常麻烦。SSH提供了公钥登录,可以省去输入密码的步骤。
本地Git仓库和Github仓库之间的传输是通过SSH加密的
生成SSH Key:
在/c/users/xxx/.ssh路径创建key:
$ ssh-keygen -t rsa -C "[email protected]"
会生成一个私钥一个公钥(.pub )
在Github里设置一下公钥
-C 后面的email可以不写
The email is only optional field to identify the key.
邮箱仅仅是识别用的key
一个账号对应一个ssh key
一台电脑上可以建多个ssh key 对应不同账号
上传项目的步骤
git init把这个文件夹变成Git可管理的仓库
git add把项目添加到仓库
(git add .把该目录下的所有文件添加到仓库,注意点是用空格隔开的)
git commit -m "备注信息"
git remote add origin url
将Git仓库和本地仓库进行关联
关联好之后就可以把本地库的所有内容推送到远程仓库
git push -u origin master(-u表示刚开始远程仓库没有内容,有了内容之后就不用再写了)
Updates were rejected because the remote contains work that you do
正确步骤:
-
git init //初始化仓库
-
git add .(文件name) //添加文件到本地仓库
-
git commit -m “first commit” //添加文件描述信息
-
git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支
-
git pull origin master // 把本地仓库的变化连接到远程仓库主分支
-
git push -u origin master //把本地仓库的文件推送到远程仓库
拉代码
clone是本地没有repository时,将远程repository整个下载过来。
pull是本地有repository时,将远程repository里新的commit数据(如有的话)下载过来,并且与本地代码merge。
两个账号
github是网络公有代码仓库,一般用于私人代码托管,而gitlab一般是企业搭建的内部代码仓库。
搞两个SSH key
价格config文件(不需要后缀)
Host github
HostName github.com //真正连接的服务器地址
PreferredAuthentications publickey //指定优先使用哪种方式验证,支持密码和秘钥验证方式
IdentityFile ~/.ssh/github_id-rsa //指定本次连接使用的密钥文件
Host gitlab
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id-rsa
用的时候配置一下本地仓库,也就是把提交用的电子邮件地址改成公司用的或者个人用的那个
#gitlab
cd ~/workspace/gitlab
git init
git config --global user.name 'gitlab'
git config --global user.email '[email protected]'
#github
cd ~/workspace/github
git init
git config --local user.name 'personal'
git config --local user.email '[email protected]'
git中Please enter a commit message to explain why this merge is necessary.
Please enter a commit message to explain why this merge is necessary.
1.按键盘字母 i 进入insert模式
2.修改最上面那行黄色合并信息,可以不修改
3.按键盘左上角"Esc"
4.输入":wq",注意是冒号+wq,按回车键即可