gitee的操作(创建仓库-克隆本地-提交代码)
创建仓库
- 01:点+ 新建仓库
- 02:仓库创建
- 03:仓库效果
- 04:点击克隆之中的一个路径
https://gitee.com/xie_peng_liang/vue_demo.git
- 给与项目克隆到本地
- 05:项目克隆到本地
- 再本地新建文件夹 eg:test
- test文件夹内 进入终端 cmd
git clone https://gitee.com/xie_peng_liang/vue_demo.git
- 克隆仓库到本地之后,新建自己的vue项目
vue create vue_demo1
- 注意点:就是创建的项目,需要与仓库的文件目录保持一致
- 创建项目
- Merge 选择这个:合并仓库与当前创建的项目
- Overwrite:覆盖掉仓库的
- 创建vue项目之后,进入当前项目的文件目录之中
cd vue_demo1
- 运行项目
yarn serve
项目正常运行之后,就可修改里面的代码,进行验证代码提交了
- test文件夹内 进入终端 cmd
- 再本地新建文件夹 eg:test
代码提交等指令
- 再终端之中查看当前git链接的仓库
git remote -v
查看当前项目的提交仓库路径
- 切换git链接的提交仓库路径
$ git remote add origin 仓库完整路径
- 添加文件
git add .
- 查看文件的的状态
git status
- 提交到缓存区
git commit -m "初始化项目"
- 推入仓库
push push
- 推入仓库后的效果:
分支管理
分支分类
默认有着主分支 — master
1:master => 主分支,用于发布本版
2:dev => 开发分支,主要用于开发
3:release => 未测试的正式版本,来源于dev
4:hotfix => 紧急bug修复分支
- 查看分支
git branch
查看当前所属分支
git branch -a
查看当前分支列表 - 新建分支
git branch dev (dev为分支的名称)
- 切换分支
git checkout dev
- 合并分支
git merge dev (merge---为合并的意思,把指定的分支合并到当前分支---就是有着*)
注意点:Updating 5995f00..e4543e0 显示这一行,代表已经更新完了。
+ 作用:在当前分支合并分支(假如你是master主分支需要合并dev分支,那么需要切换到master主分支 然后git merge dev)即可
- 删除分支
git branch -d dev(要删除的分支名称)
解决冲突代码
注意点:就是你在分支dev做功能五的一半,然后在主分支中也完成了功能五的一半,各自提交了,然后才发现功能五没有合并在一起,
CONFLICT (content): Merge conflict in readme.md
Automatic merge failed; fix conflicts and then commit the result.
这时候合并的,会发生冲突的,造成合并失败,因此需要手动合并(需要把那些重复代码散去,并且再一次提交)。
<<<<<<< HEAD
我的功能四的代码,再加上分支就是完整的代码
=======
这是分支dev的代码1
>>>>>>> dev
所以啊:只要把其他的=== >>> dev注释等无用东西删除,再提交即可。
分支管理之克隆仓库所有分支
- 注意点:就是git克隆仓库项目的时候,会把整个项目克隆下来,但是分支只是默认master分支的
- 若是需要克隆其他的分支,那么需要以下操作:
git branch -a
查看仓库上的所有分支
- 可以新建分支推上仓库 || 可以再本地之中创建与仓库同名的分支
- 例如:
git checkout release
就是release分支 - 效果:
- 先查看分支 :
git branch
- 查看当前分支的结果如下;代表着已经创建了release分支
- 查看当前分支的结果如下;代表着已经创建了release分支
- 先查看分支 :
-
把新的分支的提交到仓库上
-
仓库上的效果为:
-
把代码提交到当前分支
git add ./
git commit -m "release测试提交代码"
git status
git push
- 注意点:
- 01:git commit -m “提交release分支代码” 之后,会提示以下的信息
[release a7a0079] 提交release分支代码
1 file changed, 2 insertions(+), 1 deletion(-)
- 02:git status 查看当前状态
- 会显示当前分支,还有所更改的东西
On branch release
Your branch is ahead of 'origin/release' by 2 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
- 03:git push 提交到仓库上
- 04:效果:
远程仓库与本地代码的链接
- 假如你本地创建了一个vue项目、再gitee创建了一个仓库,这样两者是没有关联的
本地项目 与远程git仓库建立链接
-
再本地项目之中,选择到git目录下,运行到终端
-
首先先查看是否有已经链接的仓库
git remote -v
-
若是有已经链接的其他仓库,那么需要先删除之前的 远程git链接仓库
git remote rm origin
-
删除之前链接仓库后,进行添加新的远程git仓库
git remote add origin https://gitee.com/xie_peng_liang/vite-app.git
-
然后你可以查看当前链接的 仓库
git remote -v
-
之后的话尝试提交代码等操作(正常来说,这样即可)
git add ./ git commit -m "备注" git push
-
但是再执行 git push 时若是报错的话,再进行其他处理
-
报错1
- 说没有配置 本地项目与 远程仓库的链接
fatal: No configured push destination. Either specify the URL from the command-line or configure a remote repository using git remote add <name> <url> and then push using the remote name git push <name>
- 解决方案
git remote add origin https://gitee.com/xie_peng_liang/vite-app.git
-
解决了报错1之后,再进行 git add ./ 到 git push,但是提示如下
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
致命:当前分支主节点没有上游分支。
要推送当前分支并将远程设置为上游,请使用
- 按照报错2的提示执行了以下命令:
git push --set-upstream origin master
- 然后依旧有错误
To https://gitee.com/xie_peng_liang/vite-app.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'https://gitee.com/xie_peng_liang/vite-app.git'
- 根据报错的原因,是仓库内有 README.md 然后本地没有,需要同步以下本地,执行以下命令
git pull --rebase origin master
- 执行之后,会出现以下的版本冲突
XX/Desktop/Demo/vite-app (master|REBASE 1/1)
- 有了冲突之后,又得解决冲突,但是不知为何,只能执行以下命令
git status
- 出现的结果是
Unmerged paths: (use "git restore --staged <file>..." to unstage) (use "git add <file>..." to mark resolution) both added: .gitignore both added: README.md
- 于是又是一波骚脑啊,只能按照提示来操作
git restore --staged README.md (这是项目构建 自动创建 readme.md文档 然后冲突的)
git restore --staged .gitignore (执行了 git init 然后冲突的)
-
再执行 git status
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: .gitignore modified: README.md
-
之后再执行 git add./ 到 git push 但是还是不可以,于是
fatal: You are not currently on a branch. To push the history leading to the current (detached HEAD) state now, use git push origin HEAD:<name-of-remote-branch>
-
最后执行,选择提交的分支 为master,于是顺利提交上去了
git push origin HEAD:master
-
之后再修改代码的时候,突然还发现有提交的问题
XXX/Desktop/Demo/vite-app (master|REBASE 1/1)
interactive rebase in progress; onto c031cf4
Last command done (1 command done):
pick 58aefbd 第一次提交代码
No commands remaining.
You are currently editing a commit while rebasing branch 'master' on 'c031cf4'.
(use "git commit --amend" to amend the current commit)
(use "git rebase --continue" once you are satisfied with your changes)
nothing to commit, working tree clean
- 按照提示操作即可
git rebase --continue
- 继续执行,这样就会合并log,最后
XXX/Desktop/Demo/vite-app (master) 变到 master主分支
- 最后执行
git push
则顺利完成提交了