git 代码托管
一,git安装
去Git官网上下载安装即可
二,ssh -key配置
1. 检查是否已经有SSH Key。
$cd ~/.ssh //如果说没有这个目录,就直接看第三步
2. 备份
3. 生成一个新的SSH。
$ssh-keygen -t rsa -C "email"
("email" git账号)
之后直接回车,不用填写东西。之后会让你输入密码。然后就生成一个目录.ssh ,里面有两个文件:id_rsa , id_rsa.pub
4. 把这个SSH放到github上。用公钥。先在GitHub上注册一个用户,然后进入account-setting ,把id_rsa.pub的内容复制进去就可以了。
用记事本打开id_rsa.pub文件,复制内容,在github.com的网站上到ssh密钥管理页面,添加新公钥,随便取个名字,内容粘贴刚才复制的内容。
然后把id_rsa.pub里的内容复制进去就可以了。
三,配置账户
指令:
$ git config --global user.name “your_username”
$ git config --global user.email “your_registered_github_Email”
设置邮箱地址(建议用注册giuhub的邮箱)
四,测试ssh keys是否设置成功
ssh -T git@github.com
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is 16:27:xx:xx:xx:xx:xx:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes #确认你是否继续联系,输入yes
Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of known hosts.
Enter passphrase for key '/c/Users/xxxx_000/.ssh/id_rsa': #生成ssh kye是密码为空则无此项,若设置有密码则有此项且,输入生成ssh key时设置的密码即可。
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. #出现此句话,说明设置成功。
五,git指令
1.克隆代码
git clone 地址
2.提交
//先放进本地仓库
git add .
git commit -m '本次提交备注'
git status //查看仓库状态
3.推到远程仓库
git push
4.将本地更新为最新状态
git pull //将当前分支绑定的远程分支的最新的修改拉取到本地,一般在我们push之前都应该pull拉取一下查看是否有冲突
5.本地回退版本
git reflog //回溯历史版本
git reset --hard //回溯到指定状态,只要提供目标时间点的哈希值
6.分支操作
https://jingyan.baidu.com/article/48206aea68e69f216ad6b33f.html
git branch //显示分支一览表,同时确认当前所在的分支
git checkout -b aaa //创建名为aaa的分支,并且切换到aaa分支
(git branch aaa //创建名为aaa的分支
git checkout aaa // 切换到aaa分支)能和git branch -b aaa 得到同样的效果
7.合并分支
git checkout <主分支> //先切换到合并的分支
git merge <被合并的分支> -m '填写一个合并的信息' //再将指定分支合并到当前分支
git push
查看当前已合并的和未合并过的分支,可见其他分支中没有合并的内容
git branch --merged
git branch --no-merged
8. git 本地分支与远程分支
(参考)https://www.cnblogs.com/lianghe01/p/5806518.html
github上已经有master分支 和dev分支
在本地
git checkout -b dev // 新建并切换到本地dev分支
git pull origin dev //本地分支与远程分支相关联
在本地新建分支并推送到远程
git checkout -b test
git push origin test //这样远程仓库中也就创建了一个test分支
六,一些遇到的报错
1.同一份文件,在你提交时,有人比你更早更新了文件并上传,使你的本地文件并非最新。因此,在你想上传自己修改后的文件时,第一步git pull时,会报如下错误:
error: Your local changes to the following files would be overwritten by merge:
src/test/resources/application_context.xml
Please, commit your changes or stash them before you can merge.
Aborting
为解决此问题,做如下操作
git stash
隐藏本地修改
git pull
下载最新代码
git stash pop
从Git栈中读取最近一次保存的内容,恢复自己的本地修改
提示有无冲突
若有冲突,则解决冲突
若无,则直接提交
git add .
git commit -m "comments"
2.当前分支与远程分支没有建立关联,提示运行 git push --set-upstream origin master2 与远程仓库建立关联,运行后即可通过 git push 推送成功
fatal: The current branch v2.0.6 has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin v2.0.6
复制执行即可
git push --set-upstream origin v2.0.6