GIT

git 相关基础操作

git init 
# 在当前文件夹下创建一个.git的隐藏文件夹,初始化版本控制器
# 注:不需要再同一目录下的多个位置初始化,git可以管理当前目录下的所有文件及子目录
git status
# 查看当前文件夹的管理状态
# 例如:哪些文件被修改过,哪些文件还未提交到版本库等(红色表示未管理,绿色表示已管理)
git add 文件名
# 对指定文件进行版本控制(暂存状态)
git add .
# 对指定文件夹下的所有文件及子目录进行版本控制(暂存状态)
git commit -m '详细的描述信息'
# 创建提交记录(版本)
git config --local user.name '用户名'
git config --local user.email '邮箱名'
# 第一次提交时会要求配置邮箱与用户名
git log
# 查看提交记录(历史版本记录)
git reflog
# 查看所有提交记录(历史版本记录)
git reset --hard 版本号
# 在log中查看版本号,可以回滚到指定的版本
# 注:如果回滚后又想回滚到回滚之前的状态,这时候得使用git reflog,然后再git reset --hard 版本号
git revent 版本号
# 可以取消git log中的提交记录

git stash相关操作

# stash的应用场景:
# 如果在开发一个新功能时正开发了一半,发现以前的旧功能中存在bug,急需去修改bug,那么这个时候为了避免新功能造成干扰可以先将新开发的代码存储到临时文件夹中
# 特别的:执行 git stash pop 命令时,可能会遇到冲突,因为在紧急修复bug的代码和通过stash存储在“某个地方”的代码会有重合部分,所以执行 git stash pop 时候就会出现冲突,有冲突解决冲突即可。

git stash
# 将当前工作区所修改过的内容存储到'某个地方',将工作区还原到当前版本未修改过的状态
git stash list 
# 查看'某个地方'存储的所有记录
git stash clear
# 清空"某个地方"
git stash pop
# 将第一个记录从“某个地方”重新拿到工作区,但可能有冲突
git stash apply 编号
# 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop 编号
# 删除指定编号的记录

branch分支操作

# 分支学习:branch称为分支,默认仅有一个名为master的分支。一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支。
# 如果在开发的途中出现了bug,那么可以在master分支上开启一个bug分支,修复完成后使用merge来合并master与bug分支
# 新功能开发完成后再将dev分支与master分支进行合并

git branch 分支名称
# 创建分支
git checkout 分支名称
# 切换分支
git branch -m 分支名称
# 创建并切换到指定分支
git branch
# 查看所有分支
git branch -d 分支名称
# 删除分支
git merge 分支名称
# 将指定分支合并到当前分支

通过GIT上传项目到远程仓库

git remote add origin(别名) https://github.com/马靖杰/项目名.git (在github上创建相同名字的项目)
# 给远程仓库地址取别名   
git push origin(别名) dev(分支名)
# 将本地的dev分支推到github上
git clone https://github.com/majingjie/test.git
# 从github克隆一份项目,默认获取到的只有master分支    
git pull origin 分支名
# 从远程github仓库获取分支最新内容,并合并到本地

# git pull相当于执行两步
# 1.将远程仓库中的分支拿到本机的版本库
git fetch origin 分支名 
# 2.从版本库加载分支到工作区
git merge origin/分支名 
# 或者
git rebase origin/分支名
# rebase的作用:保持提交记录的整洁

协同开发的三种方式

  1. 项目合作者
  2. 创建组织,邀请成员(拥有修改组下所有项目代码的权利)
  3. fork(fork到自己的仓库修改完成后new pull request,会给写项目的管理人员发送一条通知)
原文地址:https://www.cnblogs.com/majingjie/p/10861654.html