git总结

来源:互联网 发布:sql express安装 编辑:程序博客网 时间:2024/05/29 18:18

参考:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
(廖雪峰老师写的非常好,去看吧!)

http://blog.csdn.net/u013492736/article/details/46852611

git是一个分布式的版本控制系统。

git config --global user.name 'Your Name'git config --global user.email 'email@example.com'git init % 把当前目录变成Git可以管理的仓库git add <file> % 把文件添加到仓库git commit -m <info> % 把文件提交到仓库git status % 查看仓库当前的状态git diff % 查看修改的内容git log % 显示从最近到最远的提交日志git reset --hard HEAD^ % 回退到上一个版本git reset --hard <id> % 回退到版本号为id的版本git reflog % 记录了每一次命令git checkout -- <file> % 丢弃工作区的改动git reset HEAD <file> % 取消暂存git rm <file> 从暂存区删除文件file

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

这里写图片描述

首先明白两个概念:工作区(Working Directory)和版本库(Repository)
工作区:就是在电脑上可以看到的目录;
版本库:工作区中的隐藏目录.git。

Git的版本库中存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD,HEAD表示当前版本。
上一个版本是HEAD^,上上一个版本就是HEAD^^,往上n个版本就是HEAD~n。

把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

github是git的一个服务器。

创建自己的公钥:

ssh-keygen -t rsa -C "your_email@youremail.com"

push an existing repository from the command line
先有本地库,后有远程库,用下面的命令进行关联:

git remote add origin https://github.com/zhouna/gitDir.gitgit push -u origin master

推送最新修改:

git push origin master

注意:如果设置了免密码登陆,但push时仍然要求输入密码,原因可能是使用了https方式push。修改.git/config文件,将url改为git。

从远程库克隆一个本地库:

git clone git@github.com:<username>/<projectName>.git

每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。HEAD指向当前分支。在Git里,master分支是主分支。

为什么需要分支?
因为代码要经常提交,以免丢失,但是如果一时开发不完,你提交的会影响到别人。这是,就需要创建分支,你在自己的分支上开发,提交,等你完全开发完一个功能后,再合并回去。
这里写图片描述

首先,我们创建dev分支,然后切换到dev分支:

$ git checkout -b devSwitched to a new branch 'dev'

git check命令加上-b参数表示创建并切换,相当于一下两条命令:

$ git branch dev$ git checkout devSwitched to branch 'dev'

然后,用git branch命令查看当前分支:

$ git branch* dev  master

对dev分支的工作完成后,我们就可以切换回master分支:

$ git checkout masterSwitched to branch 'master'

这里写图片描述
现在,我们把dev分支的工作成果合并到master分支上:

$ git merge dev

合并完成后,就可以删除dev分支了:

$ git branch -d dev

Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

这里写图片描述

原创粉丝点击