发表于: 2018-03-16 21:30:27
1 613
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
因为公司现在要求使用git来管理任务项目,因此,我们打算复盘的代码也在github上进行开发.
首先是在mac上安装git,可以在官网下载安装包安装.
另外可以使用homebrew
brew install git
记录一下一些命令行的操作.
$ git config --global user.name "Your Name" 设置你的用户名
$ git config --global user.email "email@example.com" 设置你的邮箱
$ git add readme.txt 将文件添加到暂存区
$ git commit -m "add distributed" 将文件提交到分支
$ git diff readme.txt #是工作区(work dict)和暂存区(stage)的比较
$ git diff --cached #是暂存区(stage)和分支(master)的比较
$ git diff HEAD -- readme.txt #工作区(work dict )和分支(master)的比较
$ git status 查看当前的一些状态
$ git log 查看历史的一些操作记录
$ git log --pretty=oneline 简化记录
$ git reset --hard HEAD^ head~1 回滚到上一个版本,head~ n 回滚n个版本
$ git reset --hard 3628164 根据版本的具体ID回滚.
$ git reflog 查看历史命令操作
$ git checkout -- readme.txt
,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
$ git reset HEAD readme.txt
可以把暂存区的修改撤销掉(unstage),重新放回工作区
$ git rm test.txt 从版本库删除文件
$ ssh-keygen -t rsa -C "youremail@example.com" 创建SSH Key 路径在/Users/yyj/.ssh
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
$ git clone git@github.com:michaelliao/gitskills.git
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
$ git log --graph --pretty=oneline --abbrev-commit当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
用git log --graph命令可以看到分支合并图。
另外是在idea上进行git的整合使用.
基本的github的账户设置以及git路径的设置我就不贴了.
通过share project on GitHub 可以将我们想要进行协作开发的项目分享到约定好的github账号里并建立master分支.
然后我们肯定不能在主分支上进行开发,所以要建立对应的branch来进行开发.
我这里已经建立好了新的分支dev2,进行切换就可以.
然后做了修改之后需要进行相应的 add->commit->push操作.
如果和远程端的有冲突,会提示我们进行merge操作.和svn类似.
总之git就是一个分支开发思路.分支进行merge,没有问题之后再合并到主分支.
明天计划的事情:(一定要写非常细致的内容)
进行项目接口的分工.
遇到的问题:(遇到什么困难,怎么解决的)
git 版本回退之后,想覆盖到已经merge的远程端, 结果push后会把本地的master分支meger掉..
这个明天还要继续研究一下.
收获:(通过今天的学习,学到了什么知识)
对git的分支以及数据分区有了更深的理解,了解到了 工作区->暂存区->分支.
评论