目录
1.首次上传代码
1.账号、邮箱注册
git config --global user.name "user.name"
git config --global user.email "123456789@qq.com"
2.创建秘钥
ssh-keygen -t rsa -C "123456789@qq.com"
根据显示的秘钥生成路径,进入打开(以txt打开)并复制idb_rsa.pub内的内容到github个人设置的ssh key
3.开始本地上传
//前面是第一次需要进行的步骤,后面的都一样
- 找到待上传项目根目录或者新建目录,右键点击git bash
- 命令:git init —— 初始化
- 生成.git文件夹(查看方式显示隐藏项目)
- 命令:git status —— 查看文件状态(红色:已修改--红色不代表是出错;绿色:已添加到仓库的文件)
- 命令:git add . —— 将所有文件添加到仓库
- 命令:git commit -m "First commit" —— 提交文件到本地仓库( "First commit" 提交本地代码到远程仓库后,双引号内容作为github上仓库代码的备注,只有在执行git add . 时涉及到的文件才会显示此次提交的备注)
4.远程建仓,关联,上传
- 新建仓库,复制仓库的HTTP地址
- 命令: git remote add origin [复制下来的仓库HTTP地址] —— 关联仓库
- //重新建仓,与旧仓库合并,命令:git pull origin master --allow-unrelated-histories
- 命令:git push -u origin master —— 首次需要使用-u命令,第二次之后不用。输入你的github的账号与密码
5.其他问题
注意:建仓勾选了Initialize this repository with a README(会自动创建README文件),此时本地仓库无此文件,将会报错failed to push some refs to [仓库地址]
解决办法:git pull --rebase origin master —— // git pull origin master --allow-unrelated-histories
2.切换分支工作
1.查看当前分支
git branch
2.创建新分支
git branch [分支名] —— git branch dev
3.切换分支
git checkout dev
分支master下工作:新建文件master.txt,切换到dev分支下,本地文件不显示master.txt;
分支dev下工作:新建文件dev.txt,切换到master分支下,本地文件不现实dev.txt;
切换到新的分支只要再次提交,远程分支上将出现新的分支,会包含基于某分支(在某分支下创建的分支)下的所有代码以及在分支下工作产生的新文件或者修改过的文件。例如:在master分支下创建了dev,提交代码到远程仓库dev,dev的文件会包含master的所有文件以及在dev分支下修改或者新增的文件。
4.创建新文件
5.提交代码
git commit -m "devtest"
6.推送代码至远程仓库dev
git push origin dev —— 如需要账号密码正确输入即可
3.版本回退
1.查看提交记录
git reflog
2.回退版本
git reset -- hard xxx —— xxx :黄色的版本号
4.合并分支
1.首先切换到master分支,也就是主分支。
git checkout master;
2如果是多人开发记得先执行,git pull origin master
假设需要合并的分支是dev,执行
git merge dev
3.此时查看状态 git status可以看到已经又提交内容了,接着执行
git push origin master
此时成功上传到代码仓库
几个月前在远程建了个仓库,只上传了一个pom.xml文件。几个月后,本地的pom.xml文件已经多了很多了,此时进行了一次关联历史操作,pom.xml里面的文件全部都消失了............