git and github
注意 -- 后面或者 . 前面都有空格
--git就是个版本控制的工具
--github是全球最大的基友平台,在github上有很多的开源项目,充当远程仓库的作用
--SVN也是版本控制的工具,是集成式的控制。链接中央服务器就可以开发,互相之间是通过中央服务器之间通信的。如果本地文件删除就无法还原。
git采用的是分布式的,每个人的电脑上都有一套项目,在何地何时都可以开发,不需要链接中央服务器。在远程仓库github上可以多人协作开发。
git做分支处理掉渣天,完爆SVN。
-git工具 不同的系统安装方式不同。通过可视化和命令行两种方式
git clone[url]
设置贡献者
-name(用户名或者邮箱) - -git config -global uer.name
-email(最好是和自己github上面的账号一样,可以识别人) - -git config -global user.email
-git config --list
master --主分支的默认分支 比如jquery稳定版本的分支,不能再原有代码上开发。新开的版本库,默认是一个分支
git的三个区:
工作区 :
暂存区: 工作区不能直接提交到版本区,先将修改好的放到暂存区提交到版本库当中。【过度作用】,避免误操作,分支处理
版本库
git命令
-git status 查看状态
-git add 先添加(剪切的过程)到暂存区 数字提示符号颜色是红色代表是在工作 区 【 +添加文件 ~修改 -删除】 蓝色是暂存区
-git commit 暂存区添加到版本区 弹出的文本框是用来添加对这个版本的注释的 。也可以直接在后面 -m"lhuigi"写注释
-git commit -a -m "asd";
把修改过的文件全部提交到版本区域 可以使用 git add.的方式全部提交
连写的方式 -a先把工作区的文件添加到暂存区,简写的add -m"注释"
-git log 查看提交的历史
对比(三个分区中的那些文件不同)
-git diff 工作区和暂存区的对比
-git diff --cached(--staged也可以使用) 暂存区和版本区域的对比
-git diff master 工作区和版本库之间进行对比
撤销
-git reset HEAD<file name> 从暂存区撤销到工作区
-git checkout -- <file name> 撤销工作区的修改跟版本区域的变成一样,还原版本
-git commit -- amend 一次提交没有完成,从版本库中撤销到暂存区,和新提交到暂存区的文件一齐传到版本去
删除
-工作区直接可以手动删除
-git rm<file .name> 文件被更新到暂存区,工作区删除某一个文件,要删除暂存区的这个文件,可以使用这个命令
-git rm -f <file.name> 文件被更新到暂存区,同时删除工作区和暂存区的文件
-git rm --cached <file name> 文件被更新到暂存区只会把暂存区对应的清楚掉,工作区保留原来的文件
恢复操作 勿删除了文件或者
commi 的id 就是对应的恢复的版本,也不用全部
-git checkout id(commit) <file name> 当工作区中某一个文件被删除,还原某一个文件进行恢复
-git reset --hard id(commit) 恢复到某一个版本操作,对版本的还原
>>HEAD^(也可以通过指针来控制版本的变化) git reset --hard HEAD^/~3 (从起点回复过去3个版本) 回复过去一个版本
-git reflog 当向下回复到某个状态,查看日志找不到以前的东西。可以使用这个命令查看版本的操作过程,从而根据id在回复过来
同步到远程仓库
git push origin master(目前只有一个主分支)
-git remote 查看远程仓库的名字 -v名字对应的远程仓库的地址
-gir remote add 修改远程仓库的名字
多人协作解决冲突
同步更新自己本地代码
-git fetch 只拉取远端代码 不自动合并,需要手动合并,一般使用上端。配合
>>git diff master origin/master 对比
>>git merge orgin/master 合并
-git pull 自动合并