git init 创建 本地库
git config 项目级别
– git config user.name Tom
– git config usere.email [email protected]
git config --global 全局级别
– git config --global user.name Tom_global
– git config --global user.email [email protected]
git status 查看状态
git add 添加文件到commit
"git rm --cached 将添加进缓冲区的文件拿出来 <:set nu 行号>
git commit -m "commit message "
GIT LOG OPEAR
git log 查看日志 <多屏显示操作: 空格向下 b向上 q退出>
git log --pretty=oneline 一行显示日志
git log --oneline 显示当前之后的版本
git reflog 日志—显示head指针移动步数
版本控制
git reflog
git reset --hard (6683e9c)
git reset 参数
–soft
仅仅在本地库 移动HEAD指针
–mixed
在本地库 移动HEAD指针
重置暂存区
–hard
在本地库 移动HEAD指针
重置暂存区
工作区
^只能后退
git log --oneline
git reset --hard HEAD^ back one step
git reset --hard HEAD^^ back two step
git reset --hard HEAD^^^ back three step
git reset --hard HEAD~num num 为后退步数
rm 文件后找回(删除)
前提:文件创建时必须提交到了本地库
使用版本回退操作 HEAD指向对应的历史记录
如果删除的文件提交到暂存区没有提交至本地库
指向HEAD即可
文件比较 diff
git diff <文件名> 工作区和暂存区比较
git diff [历史版本HEAD^]<文件名> 工作区和历史版本比较
无文件名 多个文件进行比较
分支
git branch -v 查看分支
git branch 创建分支
git checkout 切换分支
修改后 切换 到被 合并 的 分支 上
使用git merge <修改内容的分支名>
解决冲突
git merge 后进入合并模式 打开冲突文件进行修改后
git add
git commit -m 不加文件名字
远程仓库操作
git remote -v 查看别名
git remote add 创建别名
git push 别名 分支 (git push origin master)
git clone 操作
git clone <仓库url>
-下载仓库到本地
-初始化
-别名
git pull 操作
git pull 相当于 git fetch + git merge
git fetch <远程库地址别名><远程分支名>
git merge <远程库地址别名/远程分支名>
git pull <远程库地址别名><远程分支名>
冲突解决
如果由于当前版本不是github远程库的最新版本
需要先拉取下来
–若 进入冲突 则 按照正常merge冲突处理
跨团队操作
在github使用fork 进行复制仓库
本地clone 后 修改 push
在github中 pull request