发表于: 2018-03-16 21:30:27

1 612


今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了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-commitGit无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

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的分支以及数据分区有了更深的理解,了解到了 工作区->暂存区->分支.



返回列表 返回列表
评论

    分享到