git基本操作
文章目录
一、使用步骤
生成ssh公匙(一般都在当前用户文件夹下.ssh/id_rsa.pub)
ssh-keygen -o
1.安装git
代码如下(示例):
sudo apt install git -y
2.创建git仓库
代码如下(示例):
git init
3.拉取远程项目
git clone [*.git]
4. 提交本地仓库
git add.
git commit -m "[提交时信息或注释]"
5.创建远程分支
git branch [分支名]
6.上传远程
git push origin django
遇到问题,修改 .git 权限解决, 如果加上 sudo 一直让添加身份标识
ps:更新本地代码流程
1.查看本地有没有和远程同名分支,有的话切过去之后pull一下(更新),没有就新建,切之前先 git add . (将文件添加到暂存区)
2.将原来使用的分支与本地刚更新的分支合并
3.删除原来的分支
7. 常用命令
指定分支推送
git push origin <本地分支名>:<远程分支名>
指定分支提交
git pull origin <远程分支名>:<本地分支名>
8. 分支合并/衍合
步骤:
第一步 : 先推送各自分支代码
第二步: git pull origin <branch>:<branch> (远程分支:本地分支) 两个分支都拉下来
第三步: git status 查看是否在自己所使用的分支上
第四步: git rebase/merge <branch> 衍合指定分支到当前分支
第五步: 查看冲突代码(IDE) HEAD 到 =======自己的内容,=========到 >>>>其他分支/..
第六步: git add *.py
第七步: git commit -m "备注"
最后: git push origin <branch>:<branch> 本地分支:远程分支
实例:
在本地环境中,有分支A和分支B,
那么我在分支A执行命令“git merge B”, 执行命令完成之后出现代码冲突
这时:HEAD 分支A代码 ======= 和 ========分支B代码>>>>
官方解释:
在 Git 中, HEAD ======= 和 ========>>>> 标记通常出现在合并(merge)分支时,用于标识代码冲突的位置。
HEAD ======= 标记用于标识当前分支(本地分支或远程分支)的代码,而 ========>>>> 标记用于标识要合并的分支的代码。
出现问题:
-
拒绝合并不相关的分支
-
参考链接:https://www.cnblogs.com/jinbang/p/8920252.html
在合并分支提示“refusing to merge unrelated histories”的错误,是由于两个分支拥有不相关的提交历史,所以是拒绝合并的,如果确实需要合并,则可以在执行merge命令时指定一个 --allow-unrelated-histories 的参数,会允许合并不相关的历史。
例如,合并feature分支到master分支:
原本的命令:
git merge dev_wang
修改后命令:
git merge dev_wang--allow-unrelated-histories
即可成功合并,确认没有问题之后提交分支
九、git删除已经提交的文件
ps :工作中我们可能在上传项目到github或者gitee时,忘记忽略了某个文件,就直接push上去了, 最后发现上传多了,如何删除掉远程仓库中的文件呢?
在github上我们只能删除仓库,无法删除文件夹或文件,所以只能通过命令来解决:
首先进入你的项目master文件夹下, Git Bash Here 打开命令窗口;
git pull origin master # 将远程仓库里面的项目拉下来
ls # 查看有哪些文件夹【cd 进入想要删除文件的跟目录】
git rm -r --cached edits.html # 删除文件edits.html
git commit -m '删除edits.html ' # 提交,添加操作说明
git push -u origin master # 将本次更改更新到github项目上去
十、git踩坑笔记
1. 当clone代码到本地之后,pull拉取新的分支,新的分支会自己与master分支合并
查询后了解,pull = fetch + merge 所以,如果只是向拉取新分支的最新代码,只使用 git fetch origin branch:branch 就好了 。
——————————————————————————————————————————
本文链接:https://www.ngui.cc/el/1236764.html