已安装 git
- 配置用户名和邮箱
# 全局配置用户名和邮箱
git config --global user.name '用户名'
git config --global user.email '用户邮箱'
# 查看当前配置
git config --global --list
- 上传代码至 github
git init
git add .
git commit -m 更新的描述e.g.第一次上传文件
git remote add origin git@github.com:你的用户名/仓库名.git
git push -u origin main
## 如果遇到错误:
## src refspec xxx does not match any / error: failed to push some refs to
## 统一远程和本地的仓库名称,把本地的 master 仓库名称修改为远端的 main
## git branch -m oldBranchName newBranchName
git branch -m master main
- 找到所有操作的记录
# 查看当前的项目有哪些改动及其状态
git status
# 查看之前所有用户的提交记录
git log
# 查看单个人的提交记录
git log --author='用户名'
- 修改项目中的文件
git add 对应增加/修改的文件
git commit -m 更新的描述信息
- 删除不需要的文件
git rm 要删除的文件
git add .
git commit -m 更新的描述信息
- 给文件重命名
git mv 旧的文件名 新的文件名
git commit -m 更新的描述信息
- 移动文件到其他位置
git mv 旧的文件路径 新的文件路径
git commit -m 更新的描述信息
- 文件有变化时查看文件前后变化
# 方式 1
## 对应新更新的文件及其文件的更新描述信息
## 具体commit的内容及其哪个用户哪个时间修改的,改了哪些内容
git log --pretty=oneline 要查看的文件名字
git show 修改的id
# 方式 2
git log -p 要查看的文件名字
- 文件操作失误一键还原
# 方式 1,找不同手动更改
git diff
# 方式 2,还没 commit 代码之前,还原到上一次文件提交的状态
git checkout -- 还原的文件名
- 不再追踪时如何撤销追踪操作
# 文件的追踪:加入暂存区时(git add 操作后),git 就进行该文件
# 的追踪,要按上述命令还原时就不行了
## 撤销追踪
git reset HEAD 文件路径及其名字
## 还原到上一次提交的状态
git checkout -- 还原的文件名
- 回到项目上一版本或者指定版本
# 新版本并没有上线,退回到上一版本(一个 ^ 代表一次版本)
git reset --hard HEAD^
# 回退到指定版本
## 拿到对应版本 commit 的 id
git log
git reset --hard 版本id
- 将某一文件回到指定版本(不是整个项目)
## 拿到对应版本 commit 的 id
git log
git checkout 版本id -- 文件名
- 修改内容后如何推送到远程仓库
# 推送到 master 分支
git push origin master
- 在本地给每个版本创建一个独特标签
# 默认加在最新一次的版本
git tag 标签名
# 加到指定版本
git tag 标签名 版本id
# 删除标签
git tag -d 标签名
# 把标签推送到远程仓库
git push origin 标签名
- 切换、删除分支时如何操作
# 创建分支
git branch 分支名字
# 查看分支并且当前所在分支
git branch
# 切换分支
git checkout 分支名
# 删除分支(不能是当前所在分支或者有提交代码)
git branch -d 分支名
# 创建分支并切换到其他分支
git checkout -b 分支名
# 强制删除分支(即使有提交代码)
git branch -D 分支名
- 想要合并分支
# 切换到主分支
git checkout master
# 合并分支到主分支
git merge 分支名
- 合并分支时有冲突时如何正确合并分支
# 首先合并分支
git merge 分支名
# 如果遇到冲突
## 方式 1(直接忽略其他分支的内容,保留原有分支的内容)
git merge --abort
## 方式 2(把两个分支代码都保留)
git merge 分支名
# 手动编辑器修改合并的代码,然后
git add .
git commit
# 就会进入终端,类似 vim 修改文件
- 不同人查看版本路线
git log --oneline --graph
- 不同人删除远程不想要的分支
# 拉取所有的远程仓库
git fetch
# 查看分支
git branch -av
# 删除分支
git push origin --delete 分支名
- 不同人修改了不同文件如何提交
# 获取所有分支
git fetch
# 修改文件后,提交文件到远程仓库
git add .
git commit -m 更新的描述信息
# 查看分支
git branch -av
# 合并另一个已修改的开发者的分支代码
git merge 远程分支名(origin/demo)
# 就会进入终端,类似 vim 修改文件增加更新的描述信息
git push
- 不同人修改相同的文件如何提交
# 克隆项目
git clone 远程仓库地址
# 将本地分支与远程分支做关联
git checkout -b 本地新建分支名 远程分支名
git add .
git commit -m 更新的描述信息
git push