Git与Github学习笔记
先在github建立一个库
--项目名称
到命令行
--cd 到想要保存的盘 如:e 完整操作:cd e:
--创建文件包 如:dmdir(或mkdir) test/demo
-----PS 非git命令 --vi file.name 在cmd上进入要修改的文件并修改,按Esc退出编辑状态 输入:wq 退出; ----cat file.name 查看某文件内容
--cd 进入到demo
设置贡献者
--git config --global user.name "你的名字,最好跟github上申请的一样"
--git config --global user.email "邮箱地址"
--git config --list 查看所有配置信息(包括你的name/email )
--git init 初始化一个版本仓库
--git clone [从github上复制过来链接]
git的分为三个区
工作区:既保存本地编辑代码
暂存区:做为过渡层,为了避免炒作失误,保护工作区和版本区的分支处理
版本区(库):既上传到版本库上
--git status 查看目前状态
--git add 文件名 如:git add index.htm PS:单独将工作文件修改提交到本地暂存区
--git add . PS:将所有修改过的工作文件提交暂存区
--git commit -m "提交的注释文字" PS:从暂存区提交到版本库
--git commit -a -m "提交的注释文字" PS:从工作区经过暂存区提交到版本库
对比(查看代码在各区之间异同)
--git diff 对比工作区与暂存区的差别
--git diff --cached 暂存区与版本库差异
--git diff --staged 暂存区与版本库差异
--git diff master 工作区与版本库差异
撤销
--git reset HEAD <file.name> 暂存区返回工作区的最后一步操作
--git checkout -- <file.name> 撤销最后一次工作区操作
--git commit --amend 补充提交遗漏在缓存区的文件 操作方法:git commit -m "遗漏在缓存区的a.htm和b.htm一起提交" --amend
--git rm <file.name>工作区文件手工删除了,把已提交至暂存区相应文件删除
--git rm -f <file.name>强制性删除工作区和暂存区的文件
--git rm --cached <file.name> 只删除暂存区文件,工作区文件保留
--rmdir <文件包名> 强制性删除文件包
删除远端文件或文件夹
--git rm -r -n --cached *文件名* //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
--git rm -r --cached *文件名* //最终执行命令.
--git rm 文件夹名称 -r -f //删除文件夹及文件夹下所有目录
--git commit -m "delete 文件名称"
--git push origin master //同步到远端服务器
恢复
--git log 查看该文件每次提交记录
--q 按q键恢复输入状态
--git checkout commit-id <file.name> 恢复指定版本 操作方法:输入git log 查看密匙 可以不用复制完 git checkout 密匙 <file.name>
--git reset --hard commit_id 恢复所有文件状态
>>HEAD^ 向下一级恢复 操作方法:git reset --hard HEAD^
>>HEAD~号数 输入相应的数字越级回复 如:git reset --hard HEAD~3 向下恢复第三步状态
--git reflog 查看所有操作信息
同步到远程仓库
--git remote 查看远程仓库名称
--git remote 查看远程仓库名称和服务器地址
--git push origin master 将本地主分支推到远程主分支
多人协作解决冲突
--git fetch 抓取远程仓库,但未合并本地
--git diff master origin/master 对比远程仓库和本地代码冲突的地方
--git merge origin/master 合并远程代码到本地,手动修改冲突代码 (如果远程代码是要更新到本地的,可先git pull到本账号远程仓库,然后再合并代码到本地,无需再修改)
--git push origin master 修改好的代码提交到远程分支
--git pull 抓取远程仓库所有分支更新本账号远程仓库 ps:远程代码为主更新到本地,不需要手动解决冲突了
Git分支
--git branch 查看分支
--git branch <new1> 创建new1分支
--git branch -d <分支名称> 删除已合并的分支
--git branch -D <分支名称> 强制删除没有合并的分支,慎用!
--git branch --merged 用于查看已经合并了的分支 PS:假设有master new1 new2 三个分支 ,master与new1合并了 , 查看到的是 master与new1;
--git branch --no-merged 查看没有合并的分支,跟上面的相反
--git checkout <name> 跳转到某一分支
--git checkout -b <name> 创建新分支,并跳转值新分支
--git merge <name> 合并某分支
参考网站1:http://git.oschina.net/progit/
参考网站2:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000