Git教程
一、公钥
1、本地安装Git,生成公钥ssh-keygen,复制id_rsa.pub文件内容
2、登录码云,设置-安全设置-SSH公钥-添加公钥
二、将现有项目推送码云
1、登录码云,创建一个新仓库,打开新仓库,点击 克隆/下载,复制SSH仓库名
2、本地用开发环境创建仓库,或者使用 git init,不过要配置好 .gitignore .gitattributes 两个文件
3、git remote add origin SSH仓库名
git pull orgin master --allow -unrelated -histories
git push -u origin master
三、将码云仓库克隆到本地
git clone SSH仓库名
廖雪峰官方网站Git教程 https://www.liaoxuefeng.com/wiki/896043488029600
安装Git 官网下载安装程序 https://git-scm.com/downloads
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
$ ssh-keygen -t rsa -C "youremail@example.com" //.ssh目录下生成id_rsa和id_rsa.pub两个文件
创建本地仓库
//创建仓库请尽量使用开发环境自动生成
$ cd learngit //目录
$ git init
常用命令
//记得把Notepad++的默认编码设置为UTF-8 without BOM $ git add readme.txt //添加文件 $ git add file.txt $ git commit -m "本次提交说明" //提交, 说明尽量使用英文 $ git status //仓库当前的状态 $ git diff readme.txt //查看修改内容 $ git log //显示从最近到最远的提交日志$ git log --pretty=oneline //简易方式查看日志
$ git log --graph //查看分支合并图日志$ git reflog //这个日志好用//在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上100个版本写成HEAD~100。
分支
$ git checkout -b dev //创建分支,等价于$git branch dev $git checkout dev创建加切换
$ git branch //查看分支
$ git checkout master //切换分支到master
$ git merge dev //将dev分支合并到当前分支master, Fast-forward快进模式
$ git branch -d dev //删除分支
分支策略:首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。所以,团队合作的分支看起来就像这样:
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
bug分支: 修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <commit>命令,把bug提交的修改“复制”到当前分支,避免重复劳动。
多人协作的工作模式:1)远程已有dev分支,克隆时不会自动生成,使用$ git checkout -b dev origin/dev创建远程首先可以试图用git push orgin dev推送自己的修改;如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;如果合并有冲突,则解决冲突,并在本地提交;没有冲突或者解决掉冲突后,再用git push orgin dev推送就能成功!如果origin的dev分支到本地;2)推送git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to dev origin/dev。
浙公网安备 33010602011771号