注意 -- 后面或者 . 前面都有空格
--git 就是个版本控制的工具
--github是全球最大的基友平台,在github上有很多的开源项目,充当远程仓库的作用
--SVN也是版本控制的工具,是集成式的控制。链接中央服务器就可以开发,互相之间是通过中央服务器之间通信的。如果本地文件删除就无法还原。
git采用的是分布式的,每个人的电脑上都有一套项目,在何地何时都可以开发,不需要链接中央服务器。在远程仓库github上可以多人协作开发。
git做分支处理掉渣天,完爆SVN。
-git工具 不同的系统安装方式不同。通过可视化和命令行两种方式
进入指定的文件夹下面,创建要克隆的项目:git clone[url]
git clone https://github.com/Anikinly/HTML5.git
设置贡献者:别人会知道之前开发的人或者联系方式,利于多人的协作,一般设置跟自己的github一样方便识别
-name(用户名或者邮箱) - -git config --global user.name
-email(最好是和自己github上面的账号一样,可以识别人) - -git config --global user.email
-git config --list
git config --global user.name 'Anikinly' //设置全局的name
git config --global user.name 'qyl_tjshydx@qq.com'
git config --global user.name //查看name
git config --list //查看全局的所有配置
master --主分支的默认分支 比如jquery稳定版本的分支,不能再原有代码上开发。新开的版本库,默认是一个分支
git的三个区:
工作区 : 所有工作的代码,修改完先扔到暂存区去提交到版本库当中。
暂存区: 工作区不能直接提交到版本区,先将修改好的放到暂存区提交到版本库当中。【过度作用】,避免误操作,分支处理。针对分支管理也是很有用的。
版本库 :
git命令
-git status 查看状态
-git add 先添加(剪切的过程)到暂存区 数字提示符号颜色是红色代表是在工作 区 【 +添加文件 ~修改 -删除】 蓝色是暂存区
git add 1.html
git commit 1.html
-git commit 暂存区添加到版本区 弹出的文本框是用来添加对这个版本的注释的 。也可以直接在后面 -m"lhuigi"写注释
把修改过的文件全部提交到版本区域 可以使用 git add.的方式全部提交
git add .
git commit -m"this is zhushi"
连写的方式 -a先把工作区的文件添加到暂存区,简写的add -m"注释"
-git commit -a -m "asd";
git commmit -a -m 'adf' //先提交到暂存区,然后提交的版本区
-git log 查看提交的历史,当打的版本比较多的时候,按回车查看更多
对比(三个分区中的那些文件不同)
-git diff 工作区和暂存区的对比
git diff // 会显示工作区和暂存区之间对比值
-git diff --cached(--staged也可以使用) 暂存区和版本区域的对比
git diff --cached //暂存区很版本区的区别
-git diff master 工作区和版本库之间进行对比
git diff master
撤销
-git reset HEAD <file name> 从暂存区撤销到工作区
git reset HEAD viewport.txt
-git checkout -- <file name> 撤销工作区的修改跟版本区域的变成一样,还原版本
将工作区变成最新的版本区一样
git checkout --vieport.txt
-git commit -- amend 一次提交没有完成,从版本库中撤销到暂存区,和新提交到暂存区的文件一齐传到版本,
不能再次提交,否则会变成两次不同的提交。
git commit -m 'change 3' --amend //完成了两个动作,先撤销回来再新的提交中一并提交
删除
-工作区直接可以手动删除
-git rm<file .name> 文件被更新到暂存区,工作区删除某一个文件,要删除暂存区的这个文件,可以使用这个命令
git rm 1.txt
-git rm -f <file.name> 文件被更新到暂存区,同时删除工作区和暂存区的文件
git rm -f 2.txt
-git rm --cached <file name> 只会把暂存区对应的清楚掉,工作区保留原来的文件
git rm --cached 3.txt
恢复操作 勿删除了文件或者
commit 的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 自动合并
创建好的分支发送到github上,可以在github上查看不同的分支
在github上也可以直接删除分支
releases:标签或者版本的里程碑
开源项目协作(是没有参与权限的)
fork 开了一个新的分支,克隆了一个完整的版本
pull request
小的问题是可以在线修改的
git分支处理 互相不会影响。最后合并分支 查看分支 git branch (或者新建)
git branch
链式写法:git checkout -b new2 新建一个new2的并且切换到这个
-d git branch -d new1删除被合并到了主分支的分支
-D 强制删除没有被合并过的分支
新开的分支和住分支进行合并 git merge new1
--merged 查看当前下面合并过的的分支
--no-merged 查看当前下面合并过的的分支
git checkout
-分支name 切换到分支
git merge合并分支
起冲突的文件需要手动的修改,之后再上传。
创建好的分支发送到github上,可以在github上查看不同的分支
在github上也可以直接删除分支
releases:标签或者版本的里程碑
-git pull同步一下
-git 标签 git tag
创建组织
在里面有很多的组织
创建博客 https://pages.github.com/
创建的时候填写自己或者组织的名字一样.github.io
这两者主要还是偏工具类型:只有切身实际的参与当中,才会更好的体会和深入学习到github和git的吊炸天。
如何深入?
技巧
资源
github教程
github博客
-dir==-ls 都是现实下面的子文件信息
-mkdir hello创建了一个hello的文件夹
-notepad hello .txt创建一个文件
-git bri+tab 键 会自动的进行补全
-git config --global alias.co checkout 进行对checkout进行设置别名,方便记忆
dos: md d:/test 创建一个test的文件夹
del 删除文件
rd 删除文件夹