git常用命令和github
工作区:就是你的工作目录
暂存区:它像个缓存区域,临时保存你的改动
版本区:就是你的git仓库
HEAD:相当于一个指针,指向你最近一次提交后的结果
git status 查看状态
git add . 添加到暂存区
git commit - m"" 用于提交暂存区的文件
简写:git commit -a -m "" 用于提交跟踪过的文件,相当于git add
和git commit -m
的组合技
git log 查看提交历史
Git对比命令
git diff 比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异
git diff --cached 和 git diff --staged暂存区和版本区的对比
git diff master 工作区和版本区的对比
Git撤销命令
git reset HEAD <fileName> 撤销工作区到版本区状态
git checkout --<fileName> 用暂存区(如果为空,用版本区)替换工作区
git commit -m"file.html and file2.js" --amend 提交遗漏时,用于把两次提交合并为一次提交
Git删除命令
git rm <fileName> 删除暂存区的文件(当工作区存在时,无法删除该文件)
git rm -f <fileName> 把工作区和暂存区的文件都删除
git rm --cached <file.name> 只把暂存区的文件删除
Git恢复命令
git checkout <commit_id> <file.name> 还原指定版本的某个文件
git reset -- hard <commit_id> 恢复指定版本的全部文件
git reset -- hard HEAD^ 恢复最近版本的前一个版本
git reset -- hard HEAD~<n> 恢复最近版本前的n个版本
git reflog 显示所有的恢复的历史信息,然后再利用git reset -- hard <commit_id>进行撤销
同步到远程仓库
git remote 列出已存在的分支
git remote -v 列出分支详细信息,显示其远程url
git push [remote-name] [本地分支名] 推送远程仓库
git pull [remote-name] [本地分支名] 拉取远程仓库
多人协作解决冲突
git fetch(从远端拉取后不进行合并,对比后在手动合并)
* Git diff master origin/master
* Git merge origin/master
gitpull(从远端拉取后直接进行合并)
开源项目协作
1.fork 开源项目(克隆一个版本到自己的仓库)
2.pull request (提交个人修改申请)
分支
git branch 查看现有分支
git branch [新分支名]
git checkout [分支名] 切换分支
git checkout -b [新分支名] 创建并切换到该分支
git merge new1 将new1分支合并到当前分支
git branch --merge 查看当分支下所合并的分支
git branch --no-merge 查看与当分支没有合并的分支
git branch -d new1 删除分支new1(未合并的分支不能直接删除)
git branch -D new2 强制删除没有合并的分支
GitHub上的分支
1.git push origin new1 提交并在github上建立分支new1
2.在github上直接创建
github上的标签(releases)
1.git命令创建
git tag 显示已有的版本标签
git tag <v1.0> 创建版本v1.0
git push origin v1.0 提交版本V.10到github
2.github上直接创建
创建github博客
1.创建一个名为 "你的账户名.github.io"的仓库
2.在该仓库下创建一个index.html
3.通过浏览器访问你的账户名.github.io就能看到了
技巧:
git命令自动补全 借助tab键
git 命令设置别名 git config --global alias.co checkout(把checkout简化为co)
git config --list 查看配置信息
资源: