一、关于使用git命令首次或第n次上传代码到gitee 万能方式
第一次上传:
1.进入到本地需要往gitee上传的文件夹,右键点击选择git bash here。注意:如果此文件夹里有.get文件,请删除!
2.【1】输入命令 git init (为了给上传的文件夹添加.get 文件)
【2】输入命令 git remote add origin https://…get (后面的链接为gitee上的[克隆/下载] 的地址,为了给本地文件夹和gitee建立连接)
【3】输入命令git add . (注意命令后面有个“.”。将本地文件夹加入本地库)
3.输入命令 git commit -m"xxx" (提交到本地库,"XXX"为提交备注或说明)
4.输入命令 git push origin master ,成功后可在gitee上查看)。(补充一个强制提交代码到gitee上的命令git push -u origin master -f,能用git push origin master就不要用强制上传命令)
第n次(n>1)把本地代码上传或更新到gitee:
1.输入命令git pull (先获取gitee上别人上传的代码)
2.输入命令git add . (注意命令后面有个“.”。将本地文件夹加入本地库)
3.输入命令 git commit -m"xxx" (提交到本地库,"XXX"为提交备注或说明)
4.输入命令 git push origin master ,成功后可在gitee上查看,未成功很有可能是你没有在第一步输入命令git pull获取代码,导致代码冲突。(补充一个强制提交代码到gitee上的命令git push -u origin master -f,能用git push origin master就不要用强制上传命令)
二、关于git分支的命令:
查看当前所有分支:git branch -r
添加一个dev分支:git branch dev
切换到dev分支:git checkout -b dev
合并dev分支到当前分支:git merge dev
删除dev分支:git branch -d dev
三、git合并某次提交或某几次提交到另一个分支
1.git pull(下拉所有分支代码,预防冲突)
2.git log (查看提交的信息,复制你要合的提交的 commit id. 你可以百度git log获取更多查看操作)
3.git checkout 分支id (切换到要修改的分支)
4.git cherry-pick
#1.A是commit id
git cherry-pick A
2.合并A B
git cherry-pick A B
3.合并从A到B的所有提交,不包括A
git cherry-pick A…B
4.合并从A到B的所有提交,包括A
git cherry-pick A^…B
合并分支
一、合并前准备
1、确认当前分支
git branch # 查看所有分支
git status # 确认当前分支及工作区状态(确保无未提交修改)
2、更新主分支(如main/master)
git checkout main # 切换到主分支
git pull origin main # 拉取远程最新代码
3、切换到待合并分支并同步
git checkout feature-branch # 切换到待合并的分支
git pull origin feature-branch # 确保分支是最新状态
二、合并分支的两种方式
1、使用 git merge(推荐场景:维护提交历史)
git checkout main # 切换到目标分支(如main)
git merge feature-branch # 合并feature-branch到当前分支(main)
结果:
若没有冲突,Git 会自动创建一个新的合并提交(merge commit)。
若有冲突,需手动解决后再提交。
2、使用 git rebase(推荐场景:保持线性提交历史)
git checkout feature-branch # 切换到待合并的分支
git rebase main # 将feature-branch的提交"变基"到main分支上
结果:
提交历史变为线性(无合并提交节点)。
若有冲突,需逐个提交解决后继续rebase。
三、冲突解决流程
1. 冲突发生时的提示
CONFLICT (content): Merge conflict in file.txt
Automatic merge failed; fix conflicts and then commit the result.
2. 查看冲突文件
git status # 显示包含冲突的文件(标记为"both modified")
3. 手动解决冲突,打开冲突文件,会看到类似以下标记:
<<<<<<< HEAD
// 主分支的代码
=======
// 待合并分支的代码
>>>>>>> feature-branch
4.解决方式:
保留需要的代码,删除<<<<<<<、=======、>>>>>>>标记。
若不确定,可与团队成员沟通后再决定。
5. 标记冲突已解决
git add file.txt # 将解决后的文件标记为已解决
6. 继续合并,若使用 git merge:
# 或使用 -m 直接指定提交信息
git commit -m "Merge branch 'feature-branch'"
若使用 git rebase:
git rebase --continue # 继续变基过程
# 若遇到多个冲突,重复步骤3-5直到所有冲突解决
四、合并后的操作
1、推送合并结果到远程
git push origin main # 将合并后的main分支推送到远程
四、git根据某个分支上的某次提交记录(commit)创建新分支
- 切到A分支:
git checkout A
- 找到你想使用的commit_id:
git log
- 切到commit_id:
git checkout commit_id
- 创建新分支:
git checkout -b new_branch_name
- 推送到远程:
git push -u origin new_branch_name
五、git开启文件名大小写区别
命令:git config core.ignorecase false
六、拉取代码 git clone
git clone如何指定用户名和密码: git clone https://username:password@hostname/path/to/repository.git
,比如:git clone https://myusername:mypassword@github.com/user/repo.git