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_rsaid_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分支上合并就可以了。所以,团队合作的分支看起来就像这样:git-br-policy

合并分支时,加上--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创建远程origindev分支到本地;2)推送首先可以试图用git push orgin dev推送自己的修改;如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;如果合并有冲突,则解决冲突,并在本地提交;没有冲突或者解决掉冲突后,再用git push orgin dev推送就能成功!如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to dev origin/dev

posted on 2019-08-15 17:09  Gowa  阅读(141)  评论(0)    收藏  举报

导航