git的使用

作为一个入门级的菜鸟来说,学会使用git管理自己的代码是进阶必不可少的一步。很早就注册了github账号,但是一直什么也没写,实习的部门架构师开始规范大家编写程序的规范,要求必须有相关文档,而且代码版本控制工具也打算从SVN换成git。我还想参与Elasticsearch官方文档的翻译,学习git迫在眉睫咯!

1.申请一个github账号

2.安装git for windows. https://git-for-windows.github.io/   (天啦撸下载好慢)

3.git配置

打开git bash

查看配置信息:git config --list

配置命令:git config --global user.name/core.editor/merge.tool

4.git工作流程(理解)

感觉这里和SVN差不多。

4.git基本概念

head是指向master分支的一个“游标”,Object标示区域为git对象库。

工作区修改后执行 git add 时,暂存区的目录树被更新,修改的文件被写入到对象库新的对象中,该对象的id记录在暂存区的文件索引中。

执行提交操作 git commit时, 暂存区的目录树写到对象库中,master分支指向提交时暂存区的目录树。

当执行 git reset head时,暂存区的目录树会被重写,被master所指的目录树替换,但是工作区不受影响。

当执行 git rm --cached <file>,会直接从暂存区删除文件,工作区不改变

git checkout . 会用暂存区全部或指定文件替换工作区文件。会清楚工作区未添加到暂存区的改动。

git checkout HEAD . 会用HEAD指向的master分支中的全部或指定文件替换暂存区以及工作区的文件。

5.创建仓库 (带有.git子目录)

在当前目录下创建仓库,并添加提交文件

git init newrepo

git add *.c

git add README

git commit -m 'coments’

从git仓库中拷贝项目

git clone <repo> <directory> newname

6.git基本操作

git status [-s]

  绿色字体A代表add, M代表modified,R代表rename,D代表删除(git rm)

git diff

git diff --cached

git diff HEAD

git diff -stat

git commit -m 'coments'

git commit -a 跳过git add

git reset HEAD 取消已缓存的内容

git rm 从缓存区删除

git rm --chched 从缓存区中删除,但在工作区中保留文件

git mv 重命名文件

7. git分支管理 ( git 的必杀技特性,从主干线分离开来,不影响主干线同时继续工作)

git branch (branchname) 创建分支

git checkout branch 切换到分支 git checkout -b (branchname)创建分支并立刻切换到该分支下

git merge 合并分支

git branch 列出分支

git branch -d (branchname) 删除分支

git merge  分支合并到主分支(替换?)

git手动解决冲突后,要用用git add告诉git文件冲突已解决

最后git commit

8.git log

git log 查看提交历史

git log --oneline 简洁版历史

git log --oneline --graph

git log --reverse --oneline

git log --author

git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges

9. git tag (永远记住那个特别的快照)

git tag -a v1.0

10. 远程仓库Github

http://www.runoob.com/git/git-remote-repo.html

 

11.git服务器搭建

github不想让其他人看见你的项目的话要收费,所以公司需要搭建一台git服务器作为私有仓库使用。

http://www.runoob.com/git/git-server.html

 

 


 

posted @ 2016-03-05 17:13  Miranda2015  阅读(213)  评论(0编辑  收藏  举报