代码拉取完成,页面将自动刷新
配置
git config --global "Your Name"
git config --global "Email Address"
初始化
git init
提交修改
git add <file>
git commit -m "descriptions"
查看状态、比对
git status
git diff <file>
查看历史版本、历史操作
git log
git reflog
版本回退、前进
git reset --hard HEAD^ 回退到上1版本
git reset --hard HEAD~5 回退到上5个版本
git reset --hard id 回退到指定版本
撤销修改
git checkout -- <file> 撤销修改:误修改工作区文件,未git add/commit
git reset HEAD <file> 撤销git add:误将文件加入暂存区(git add)
git reset --hard HEAD^ 撤销git commit:误将文件提交(一旦提交,只能通过版本回退进行撤销)
删除与恢复
git rm <file>
git commit -m "remove <file>" 删除版本库中的<file>:删除工作区文件后,继续删除版本库中相应的文件
git checkout -- <file> 根据版本库中的<file>恢复工作区<file>
关联GitHub远程仓库(本地到远程)
git remote add origin <remote address> 在本地工作区目录下按照 GitHub 提示进行关联
git remote rm origin 解除错误关联
git push -u origin master 将本地仓库推送至远程仓库(每次在本地提交后进行操作)
<remote address>:
git@github.com:<username>/<repository>.git
https://github.com/<username>/<repository>.git
克隆GitHub远程仓库(远程到本地)
git clone <remote address> git协议速度更快但通常公司内网不允许,https协议速度慢
分支管理:创建、切换、查看、合并、删除
git branch <branch name> 创建<branch name>分支
git checkout <branch name> 切换至<branch name>分支
git checkout -b <branch name> 创建并切换至<branch name>分支
git branch 查看已有分支(* 表示当前分支)
git merge <branch name> 合并<branch name>到当前分支(通常在master分支下操作)
git branch -d <branch name> 删除分支
解决合并冲突
合并时报错“分支发生冲突”,首先vim相应文件,修改冲突位置,然后按照git add/commit重新提交,最后删除多余分支即可。
分支管理:合并后删除分支也在 log 中保留分支记录
git merge --no-ff -m "descriptions" <branch name>
开发流程:
master分支 发布稳定版本
dev分支 发布开发版本
<developer name>分支 个人开发分支(个人开发完成将该分支并入dev,同时保留该分支,继续开发)
Bug分支管理(建立单独分支进行bug修复)
git stash 保存当前工作现场(在dev未完成开发,但master有bug需要修复)
git stash pop 回到dev分支后恢复工作现场
git stash list 查看当前存储的工作现场
git stash apply stash@{#} 回到指定工作现场
git stash drop stash@{#} 删除指定工作现场
Feature分支管理(建立单独分支添加新功能)
git branch -D <branch name> 强制删除分支(丢弃未合并分支)
协作与分支推送
User 1:
git remote [-v] 查看远程库信息(-v 查看详细信息)
git push origin [master/dev/...] 推送指定分支到远程
User 2:
git clone <remote address> 克隆到本地(只能克隆master)
git checkout -b dev origin/dev 本地新建分支并关联远程
git add/commit/push 添加、提交、推送更新
User 1:
git add/commit/push 推送时报错(与user 2推送的更新冲突)
git branch --set-upstream-to=origin/<branch> dev 本地与远程关联
git pull 拉取远程文件(并解决冲突)
git commit/push 重新提交并推送
标签管理(常用于版本管理):查看、创建、操作
git tag 查看标签
git show <tag name> 查看指定标签
git log --pretty=oneline --abbrev-commit --decorate=full 在log中显示标签
git tag <tag name> 为上次commit位置打标签
git tag <tag name> <commit id> 为指定commit位置打标签
git tag -a <tag name> -m "descriptions" <commit id> 为指定commit打标并添加描述
git tag -d <tag name> 删除本地标签
git push origin <tag name> 推送指定标签到远程
git push origin --tags 推送所有本地标签到远程
git push origin :refs/tags/<tag name> 删除远程标签(先删除本地标签)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。