- Remote Repository //远程仓库,远程分支
- Local Repository //本地仓库
- Workspace //工作区
- Index/Stage //暂存区
常用提交代码的流程
注意:git pull 更新代码之前一定要保证 git status无改动
1.上传修改的代码,手动合并
前提:有两份代码,源:修改于A代码 目的:合并至B代码指定分支下中。
在B代码中进行
1.git branch //查看当前分支
2.git checkout branchname//切换到需要的分支
3.git status //确保无改动,否则 git checkout file name 回退原始版本
4.git pull//更新当前分支代码到最新
5.将A代码中的改动,手动合并至当前分支下的B代码中。
6.git status//查看B分支下代码改动(git diff 显示详细信息的改动)
7.git add . (将所有改动文件存至暂存区),git add filename (将filename文件存至暂存区)
8.git commit -m '备注信息'//将暂存区的改动存至当前本地仓库
9.git push origin remote_branchname将本地仓库的改动合并至远程分支
2.上传修改的代码,自动合并
当只有一份A代码时,又改又合,则只能采用自动合并
在A代码目录下进行
1.git branch//查看当前分支
2.git checkout branchname//切换至branchname分支下
3.git status //查看改动
4.git stash //将改动存于暂存区
5.git status//此时查看结果无改动
6.git pull origin branchname //在当前branchname 分支下更新代码至最新
7.git stash list//查看保存于暂存区的改动
其他相关操作:(1)git stash save "name"//将当前改动存于暂存区name中
(2)git stash drop stash @{0} //删除不需要的暂存区的保存
8.git stash pop //将暂存区的存储弹出,自动合并至当前分支
9.git status //查看当前改动
10.git add . (将所有改动添加到暂存区) 或 git add filename (将filename文件添加至暂存区)
11.git commit -m "备注信息" //将暂存区改动推至本地仓库
12.git push origin remote_branchname //将改动合并至远程分支branchname
3.merge代码
改动合并至master远程分支,不能直接git push,需要先在其他分支修改,再网页上将该分支merge请求到master
方法1,代码已经改完并在另外一个地方存着
1.git branch //查看当前分支
2.git checkout master //切换到master分支
3.git pull //更新master分支
4.git checkout -b branchname //新建本地分支branchname
5.将修改的代码合并至本地branchname分支的代码下
6.git status //查看改动
7.git add . (将所有改动添加到暂存区,之前先make clean) 或 git add filename (将filename文件添加至暂存区)
8.git commit -m "备注信息" //将暂存区改动推至本地仓库
9.git push origin branchname //将改动合并至远程分支branchname,并且此时才有了远程分支branchname10.网页上merge请求,将远程分支branchname merge 到 master
方法2
切换至master分支 ------------git checkout master
新建并切换至本地修改分支 modify_dev -----------git checkout
将修改代码均合并至修改分支 modify_dev
修改均已完成后
1.在本地分支modify_dev 下查看改动 -------git status
2.将改动存于暂存区--------git stash
3.切换至master分支------git checkout master
4.更新master分支 -------git pull origin master //git pull
5.新建并切换至本地 提交分支 push_dev--------------git checkout -b push_dev
6.查看保存于暂存区的改动-----------git stash list
7.将暂存区的存储弹出,自动合并至当前分支push_dev----------git stash pop
8.查看当前分支改动------git status
9.git add .
10.git commit -m "备注信息"
11.git push origin push_dev //将改动合并至远程分支push_dev ,并且此时才有了远程分支push_dev
12.网页上发起merge请求,将远程分支push_dev 合并merge 到 master
方法3
修改代码阶段
1.git branch //查看当前分支
2.git checkout master //切换到master分支
3.git pull //更新master分支
4.git checkout -b branchname //新建本地分支branchname
5.将修改合并至本地branchname分支下
过了一段时间改完代码进行代码上库
1.git branch //查看当前分支
2.git checkout branchname //切换到branchname分支
3.git status //查看改动
4.git stash //将改动存于暂存区
5.git status //此时查看无改动
6.git checkout master //切换到master分支 ,若无第7步,因为存在未保存的改动到不允许切换本地分支
7.git pull //更新master分支
8.git checkout branchname //切换到本地分支branchname下
9.git merge master //将master 分支merge到当前分支
10.git stash list//查看保存于暂存区的改动
11.git stash pop //将暂存区的存储弹出,自动合并至当前分支下的新代码
12.git status //查看当前改动
13.git add . (将所有改动添加到暂存区,之前先make clean) 或 git add filename (将filename文件添加至暂存区)
14.git commit -m "备注信息" //将暂存区改动推至本地仓库
15.git push origin remote_branchname //将改动合并至远程分支branchname
4.git 其他操作
1.git checkout filename //还原改动的文件
2.git stash