一、独立开发项目
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