Git 是一个开源的分布式版本控制器
控制的对象是开发的项目代码
在git里面创建一个仓库,打开文件夹所在位置,并运行git。
一、常用开源仓库
二、分支介绍:
几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。
使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
第一个分支为master分支(系统默认分支,不需要手动创建)
git branch [分支名] 创建分支
git checkount [分支名] 切换分支
git checkout -b [分支名] 新建并切换分支
git merge [分支名] 把本地仓库的指定分支合并到当前分支
三、常用命令
workspace:工作区
staging area:暂存区/缓存区
local repository:版本库或本地仓库
remote repository:远程仓库
四、提交代码:
git add [文件名] 添加文件到暂存区,若文件名为”.”,则为添加所有修改过的文件
git commit -m “提交说明” 提交暂存区到本地仓库
git push origin [分支名] 提交本地仓库代码到远程仓库
五、拉取代码:
git clone [仓库地址] 用于本地无代码,第一次从远程仓库克隆代码
git pull origin [分支名] 用于从远程分支拉取代码(只拉取远程领先于本地仓库的代码)
实操git:
1、把本地代码删除,重新clone
2、新建分支:姓名_dev
3、切换到新建分支
4、在新分支上进行代码修改,并提交到新分支的远程仓库
5、删除本地项目,重新clone
6、新建分支:姓名_dev,并拉取远程同分支的代码。
# 进入项目目录
cd /path/to/your/project
# 删除本地代码,重新 clone
cd .. # 返回上级目录
rm -rf project-folder # 删除本地项目文件夹
git clone https://your-repo-url.git # 重新克隆远程仓库
cd project-folder # 进入克隆下来的项目文件夹
# 新建分支:姓名_dev
git checkout -b 姓名_dev # 创建并切换到新分支
# 在新分支上进行代码修改
# (进行必要的代码修改)
# 提交代码到新分支的远程仓库
git add . # 将所有更改添加到暂存区
git commit -m "Your commit message for modifications" # 提交更改
git push origin 姓名_dev # 将新分支的更改推送到远程仓库
# 删除本地项目,重新 clone
cd .. # 返回上级目录
rm -rf project-folder # 删除本地项目文件夹
git clone https://your-repo-url.git # 重新克隆远程仓库
cd project-folder # 进入克隆下来的项目文件夹
# 新建分支:姓名_dev,并拉取远程同分支的代码
git checkout -b 姓名_dev # 创建并切换到新分支
git pull origin 姓名_dev # 拉取远程同分支的最新代码
1、修改dev分支代码,使dev分支代码为最新版本
2、切换到主分支,合并dev分支
3、把分并完的主分支代码,推送到远程主分支
# 1. 修改 dev 分支代码,使 dev 分支代码为最新版本
# 首先,确保你在 dev 分支。如果不在 dev 分支,请切换到 dev 分支。
git checkout 姓名_dev # 切换到 dev 分支
# 更新 dev 分支,确保它是最新版本
git pull origin 姓名_dev # 从远程拉取最新的 dev 分支代码
# (在此处进行你需要的代码修改)
# 提交你的修改(可选,如果没有修改可以跳过这一步)
git add . # 将修改添加到暂存区
git commit -m "Updated code in dev branch to latest version" # 提交修改(可选)
# 2. 切换到主分支,合并 dev 分支
git checkout main # 切换到主分支,主分支通常是 main 或 master,请根据实际情况替换
git merge 姓名_dev # 合并 dev 分支到主分支
# 3. 把合并完成的主分支代码,推送到远程主分支
git push origin main # 将合并后的主分支推送到远程仓库
1、从同一版本派生出两个分支
2、对两个分支版本中同一文件中的同一方法进行不同修改
3、合并两个分支,并解决冲突
4、把解决冲突后的代码分别更新致两个分支
# 1. 从同一版本派生出两个分支
# 假设当前在主分支 main 上,从当前版本创建两个新分支
git checkout main # 切换到主分支
git checkout -b 姓名_dev_1 # 创建第一个新分支并切换到它
git checkout main # 切换回主分支
git checkout -b 姓名_dev_2 # 创建第二个新分支并切换到它
# 2. 对两个分支版本中同一文件中的同一方法进行不同修改
# 切换到第一个分支并进行修改
git checkout 姓名_dev_1 # 切换到第一个分支
# 在相应文件中进行修改(比如修改 File.java 中的方法)
# 然后添加修改并提交
git add File.java # 将修改后的文件添加到暂存区
git commit -m "Modified method in File.java on 名字_dev_1 branch" # 提交修改
# 切换到第二个分支并进行不同的修改
git checkout 姓名_dev_2 # 切换到第二个分支
# 在相应文件中进行不同的修改(与上一步不同的修改)
# 然后添加修改并提交
git add File.java # 将修改后的文件添加到暂存区
git commit -m "Modified method in File.java on 名字_dev_2 branch" # 提交修改
# 3. 合并两个分支,并解决冲突
git checkout main # 切换回主分支
git merge 姓名_dev_1 # 合并第一个分支
# 如果没有冲突,直接推进下一步;如果有冲突,会提示你解决冲突
# 合并第二个分支
git merge 姓名_dev_2 # 合并第二个分支
# 解决冲突
# 打开冲突文件,手动解决冲突,然后:
git add File.java # 添加解决冲突的文件
git commit -m "Resolved merge conflicts between 名字_dev_1 and 名字_dev_2" # 提交合并结果
# 4. 把解决冲突后的代码分别更新到两个分支
# 更新第一个分支
git checkout 姓名_dev_1 # 切换到第一个分支
git merge main # 把更新后的主分支合并进来
git push origin 姓名_dev_1 # 推送更新到远程分支
# 更新第二个分支
git checkout 姓名_dev_2 # 切换到第二个分支
git merge main # 把更新后的主分支合并进来
git push origin 姓名_dev_2 # 推送更新到远程分支