添加远程库,在本地已经创建了一个Git仓库,又在在github上有一个仓库,想让两者保持通信,则把github上的仓库变成远程库。
首先在github上创建一个仓库,在本地的仓库下运行
git remote add origin git@github.com:用户名/文件名 <实际的ssl用户名>@<IP地址>:<Git在远端的path>,这样git push就会自动推送到这个远程库
向远程库推送数据:git push -u origin master,第一次推送时,使用-u参数,使本地和远程的内容一样,同时将本地和远程关联起来。以后就不用这个参数了。
如果事先没有远程库,可以先建远程库再克隆到本地。在github上建立远程库,选择生成README.md文件,使用
git clone git@gitbub.com:具体位置
将远程库克隆到本地GitHub给出的地址不止一个,还可以用https://github.com/michaelliao/gitskills.git
这样的地址。实际上,Git支持多种协议,默认的git://
使用ssh,但也可以使用https
等其他协议。使用https
除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh
协议而只能用https
。
创建分支:git branch 分支名字
切换分支:git checkout 分支名字
创建+切换分支:git checkout -b 分支名字
合并分支到当前分支:git merge 分支名字 一般先切换到master分支再与其他分支合并
删除分支:git branch -d 分支名字
查看分支:git branch 当前分支前面有” * “号
不用fast forward合并分支:git merge --no -ff -m”注解说明“ 分支名,这样合并后不会删除缘分值的内容
查看分支合并图:git log --graph
查看远程库的信息:git remote
在本地生成ssh key的指令:ssh-keygen -t rsa -C “github的用户名”
之后一直按enter键就好,生成id_rsa和id_rsa.pub文件,将id_rsa.pub文件中的内容作为key添加到github网站中,在gitbash上输入验证,若返回Hi phpgao! You've successfully authenticated, but GitHub does not provide shell access.表示成功
<span style="font-size:14px;">ssh git@github.com</span>
如果之前已经设定git协议为HTTPS,此时每次推送时会要求输入用户名密码,很不方便,将HTTPS协议改为SSH协议的指令:
将所有的更改保存,退出,删除本地文件库;
用git clone git@github.com:路径 将远程仓库下载到本地;
用git remote set-url origin git@github.com:someaccount/someproject.git 更改协议
低版本的git在git push时,如果不指定分支名则推送所有的分支,高版本的只推送当前分支用下面指令调整
git config --global push.default matching 推送全部
git config --global push.default simple 推送当前分支