完成代码提交到github
git init
首先初始化一个Git仓库,使用Git管理当前目录(工作目录)
git status
查看文件的状态(是否被跟踪,是否被修改)
git add 文件名称(.)
追踪文件(放入到暂存区中)
git commit -m 自定义说明
把暂存区中的内容提交到本地仓库
git remote add origin 远程仓库地址
添加一个远程的仓库,并起一个别名(origin)
git push -u origin master(主分支)
表示把本地仓库master分支添加到远程仓库
克隆已提交的项目
git clone 远程仓库地址
找一个空文件夹,将项目从远程仓库克隆到本地
提交更改
git status 查看文件的状态
git add 文件名称(.) 追踪文件(放入到暂存区中)
git commit -m "注释" 将暂存区内容提交到本地仓库
git push -u origin master(主分支) 表示把本地仓库master分支添加到远程仓库
获取最新的变更
git pull 远程仓库地址(origin)
获取其他成员的提交、变更
开发同一项目,创建不同分支
在克隆基础,创建分支
git checkout -b 分支名称
创建+切换
git branch 分支名称
创建分支
git checkout 分支名称
切换分支
git merge 分支名称
合并某分支到分支
git branch -d 分支名称
删除分支
git checkout -b 分支名称
创建+切换
合并分支
git checkout test
当前分支test
git merge master
把 master 合并到当前分支
如果合并出现冲突,将提示冲突地方保留一个,其余删除即可
git commit -m "合并分支"
处理完冲突,提交
git push
推送到远程
查看提交、修改信息
git diff
查看修改内容
.gitignore
忽略文件,不需要被git追踪的目录,node_moudles/
git log
查看本地仓库中所有的提交记录
git reset --hard 编号
查看本地仓库信息
git reflog
显示所有提交和恢复
操作失误,取消操作
git checkout .
撤销上一步
git reset HEAD
撤销上一步操作
git revert 最新版本
版本1->版本2->最新版本
例:
git revert abc2440f48c24f11ea448ed6f74c3e7d3d940030
如果提示 is a merge but no -m option was given
是因为revert的commit是一个merge commit,有两个parent, Git不知道base是选哪个parent,就没法diff,所以就抱怨了,所以你要告诉Git用哪一个parent