Github踩坑记录

初期工作

打开cmd,ping github.com看是否成功,如果失败,参考http://t.csdnimg.cn/ykQhx

然后进入正题,本地新建一个空文件夹,右键git bash here打开,使用如下命令克隆

git clone https://github.com/Boat2U/oss101.git

 使用cd命令进入到克隆的文件夹下,创建分支team-<队长学号>

git branch  // 查看本地分支
git branch team-10205501433           // 新建本地分支team-10205501433
git branch
git checkout team-10205501433         // 切换到本地分支team-10205501433
git push origin team-10205501433  或者 git push origin team-10205501433:team-10205501433           // 将新建分支team-10205501433推送到GitHub的team-10205501433分支上

// 相关命令
git branch -r   //查看远程分支
git branch -a   //查看本地仓库和远程分支 (a 是 all 的简写)

因为创建PR(pull request)必须要有新东西提交,所以执行以下命令先提交一个空文件

touch null.txt  // 创建一个新文件
git add .   // 将当前工作路径下的所有文件添加到 Git 的暂存区中
git commot -m "新建分支并提交了一个空文件"  // 将暂存区中的所有文件提交到 Git 仓库
git push origin team-10205501433

github上切换到新建分支并刷新可以看到新的内容,点击弹出来的pull request创建PR(先占坑)。

回到本地git bash,如果删掉这次操作的commit历史(注意:相关PR也会被删)

使用git log查看提交commit history, 找到要删除的记录

主要用到如下命令

git rebase -i commitID  // commitID为要删除的commit的前一条的id

 完整操作具体如下:

git log  // 查看提交历史

 找到要删除的commit,然后它的上一条 commitID 就是目标 commitID ,

git rebase -i 114c8b5bd4b873d4d7c4ce0abcef7af012db101a  

 进入文件操作界面,需要编辑(输入i)

找到要删除的commitid ,将pick修改成drop

编辑完成,按Esc退出编辑模式 ,然后按Shift+“;”,再输入wq!(保存文件的写入修改)退出。(q!是不保存修改)

 再执行git log可以看到该条记录已经被删了

然后需要更新到远程仓库中

以下操作都是正常更改文件提交的操作

————————————————————分界线————————————————————

(当然,也需要git add .和git commit)

git pull origin team-10205501433  // 将本地代码库与最新的远程代码库同步:origin代指远程仓库名 后面是分支名

做出更改,然后git add .和git commit,然后推送

git push origin team-10205501433  // 推送到远程 

具体来说,git pull 的作用是从远程仓库中获取指定分支的最新代码并将其合并到当前本地分支。而-- rebase 则是指要使用 git rebase命令将本地修改移植到更新后的代码库中,并以此保持提交历史“干净”。

———————————————————分界线完———————————————————

而对于更改了commit history的行为,改变历史的行为是推不上去的,你要强制push,否则工作区干净时提交也会失败

git push origin +team-10205501433  // + 就是强推这个分支
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值