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

posted @ 2015-08-19 10:15  猪肉炒冰激凌  阅读(241)  评论(0编辑  收藏  举报