一、独立开发项目
1.新项目克隆代码:git clone git地址
2.git add -A
3.git commit -m "提交代码"
4.git push origin master(要提交的分支名称)
5.git pull origin master (日常开发拉最新代码)
二、协同配合的项目
1.git clone 地址
2.git checkout master
3.git pull origin master
4.git checkout -b feature_xuxj
5.git push -u origin feature_xuxj
主分支:master
保护分支:relsase
子分支:feature_xuxj
提交代码过程:
1.git pull origin relsase
2.git add -A
3.git commit -m "提交代码"
4.git push origin feature_xuxj
5.git merage 合并代码,一般是手动合并,没问题再确认合并,这一步不一定是命令行合并
三、常见命令
1.git log #查看提交日志
2.git log --oneline #查看提交历史,找到要撤销的提交的 hash
3.git branch backup-branch #创建备份分支
3.代码回滚的办法:
方法一:重置到指定提交(彻底删除后续提交)
git reset --hard +(对应的hash)
方法二:反向提交(安全撤销,保留历史)
# 1. 查看提交历史,找到要撤销的提交的 hash
git log --oneline
# 2. 创建反向提交(撤销指定版本的更改)
git revert <commit-hash> # 例:git revert a1b2c3d
# 3. 解决冲突(如有)并提交
git add .
git commit -m "Revert commit: a1b2c3d"
# 4. 推送到远程
git push origin <分支名>
4.重置本地代码(用git最新的全量代码覆盖本地除依赖外的全部代码)
git fetch origin
git reset --hard
注意:git pull origin master 是拉取最新的代码,和本地不一样的代码或者文件会进行替换,如果本地有不一样的文件会保留!!!
5.强制推送(不太建议这么干)
git push --force #强制推送风险:会覆盖远程历史,确保团队其他成员知晓
6.git init #初始化新仓库
7.基础操作:
# 初始化仓库
https://gitee.com/ruowu666666/cool-car.gitgit
# 克隆远程仓库
git clone https://github.com/user/repo.git
# 查看当前状态
git status
# 添加所有修改到暂存区
git add .
# 提交更改
git commit -m "描述信息"
# 推送代码到远程
git push origin 分支名
8.分支管理:
# 创建新分支
git branch feature-xxx
# 切 main
git switch main # (Git 2.23+)
# 创建并切换分支
git checkout -b hotfix-xxx
# 删除本地分支
git branch -d 分支名
# 查看所有分支(含远程)
git branch -a
# 关联本地分支到远程
git push -u origin 分支名
9.代码回退:
# 撤销工作区修改(单个文件)
git checkout -- 文件名
# 撤销暂存区的修改
git reset HEAD 文件名
# 回退到上个版本(保留修改)
git reset --soft HEAD~1
# 彻底回退到某提交
git reset --hard commit_id
# 撤销某次提交(生成新提交)
git revert commit_id
10.协作同步:
# 拉取远程更新(合并)
git pull origin 分支名
# 拉取远程更新(变基)
git pull --rebase origin 分支名
# 强制推送(覆盖远程)
git push --force-with-lease # 比--force更安全
# 解决冲突后继续合并
git merge --continue
# 解决冲突后继续变基
git rebase --continue
11.查看信息:
# 查看提交历史
git log --oneline --graph -n 10
# 查看文件修改历史
git blame 文件名
# 查看工作区与暂存区差异
git diff
# 查看最近提交内容
git show HEAD
# 搜索提交历史
git log -S "关键字"
12.高级技巧
# 临时保存修改
git stash save "备注"
git stash pop # 恢复
# 修改最后一次提交
git commit --amend
# 交互式变基(合并/修改提交)
git rebase -i HEAD~3
# 清理未跟踪文件
git clean -fd
# 找回误删的提交
git reflog # 找到commit_id后reset
13.标签管理:
# 创建标签
git tag v1.0.0 -m "正式版"
# 推送标签到远程
git push origin --tags
# 删除远程标签
git push origin :refs/tags/v1.0.0
14.配置相关:
# 设置用户名/邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
# 生成SSH密钥
ssh-keygen -t ed25519 -C "your_email@example.com"
# 设置默认编辑器(VSCode)
git config --global core.editor "code --wait"
15.如果是重新换个文件夹克隆的项目
克隆之后本地还运行修改了,但是想提交代码
1.git branch 运行之后检查是否有你要提交的分支:例如如果看不到 feature_xuxj,说明你不在这个分支上。
2.git checkout -b feature_xuxj 或者新版 git switch -c feature_xuxj
3.git push -u origin feature_xuxj -u 会把本地分支与远程分支关联起来,以后只需要 git push 即可
注意:本地叫 feature_xuxj,远程叫 feature_xuxj_dev,可以:git push origin feature_xuxj:feature_xuxj_dev
总结:当遇到上述问题时 git status + git branch