关于git PR(pull request)

想要git pr?那我想你必须了解git的基本知识

git包括本地工作区,暂存区(index),(版本库)本地仓库,远程仓库

工作区,暂存区,(版本库)本地仓库在本地。

pr是在将文件提交到远程仓库后的手动操作。

跟着我来走一遍pr的流程。

首先你必须要有一个含有git的项目目录。

新建本地仓库。

有三种方法

1.可以在一个已经存在的目录执行该操作,会生成.git目录,

git init

2.指定一个新目录

git init newrepo

3.克隆

克隆之前要进行身份验证

因为git在2021年已经不支持邮箱密码的登陆,推荐使用ssh,也可以生成token.

这里写ssh的用法

ssh-keygen -t rsa -C "你的邮箱"
这时候如果是第一次添加都会添加到id_rsa
可以自己指定名字,Enter file in which to save the key (/home/user1/.ssh/id_rsa): 输入类似/home/user1/.ssh/my_rsa

如果有两个账号就可以生成两份不同的ssh密钥公钥对。然后还需要添加key,因为id_rsa默认添加,
ssh-add ~/.ssh/id_rsa(如果报错输入这个ssh-agent -s, ssh-agent bash)
然后配置

git config --global user.name  ""
git config --global user.email  ""

把pub后缀文件公钥全部粘贴到GitHub 个人settings里的ssh里面

测试是否成功
ssh git@github.com

比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:

 git clone git://github.com/schacon/grit.git

执行该命令后,会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。

如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字

git clone git://github.com/schacon/grit.git mygrit

新建分支

分支就和树杈一样,在哪个分支输入分支命令,新建的分支就和原来的项目内容一样(拷贝)。还是同一个目录,只不过修改内容在各自的记录上。

git branch name //name是自定义的分支名
git checkout name //切换到分支,笨蛋,建了分支当然要切换了,还要在原分支修改污染分支吗
// 其他一些你可能会用到的代码
git branch // 可以查看当前分支
git branch -d name //可以删除分支

修改代码

想要pr当然要修改代码了,要不然提交空气啊

将变更加入暂存区

git add . //注意 .小点代表将当前全部变更加入暂存区,如果你使用vscode,你可以看到你的变更,你也可以输入指定文件名

将变更加入本地仓库(版本库)

git commit -m "ms: ***" //ms是格式,比如feat,bug,style这类代表代码是新增功能feat还是修改样式style,***是自定义的详细解释。ms有官方的字段,建议自己查看。

确保git add,git commit已经成功

注: 在 Linux 系统中,commit 信息使用单引号 ',Windows 系统,commit 信息使用双引号 "。

所以在 git bash 中 git commit -m 'feat: 提交说明' 这样是可以的,在 Windows 命令行中就要使用双引号 git commit -m "feat: 提交说明"。

另外,feat后边记得加空格,不加会报错。如果-m格式不明白应该自行学习相关知识。

所以一个PR流程是

git init/git clone//克隆会自动生产.git目录,所以选取一个方式就好了

git remote//会告诉你当前配置远程仓库名字,我是origin

git branch//可以查看当前分支,一般都是master,不要直接在master上修改

git branch name//创建子分支

git checkout name//切换到子分支

git add . //记得加点.,这可以自动将已经修改的文件添加到缓存区,也可以输入对应文件名称

git commit -m "feat: ***"//添加本次提交注释,会提交到本地的仓库

git push origin <子分支名字>//origin是仓库名,这样就把子分支的内容推到了远程仓库,但是PR的流程需要到网页上手动提交,一般这个命令会返回网页链接给你去PR的页面

// pr完建议删除当前分支,切到主分支删除,然后在主分支上拉新代码,之后再新建分支

git pull <远程主机名> <远程分支名>:<本地分支名>// 将远程主机的某个分支的更新取回,并与本地指定的分支合并

其他的一些命令:

git fetch origin master //拉取远程仓库master的更新
git merge FETCH_HEAD    //将拉取下来的最新内容合并到当前所在的分支中
git pull <远程主机名> <远程分支名>:<本地分支名>// 将远程主机的某个分支的更新取回,并与本地指定的分支合并
git log//查看历史提交记录
git reset --soft可以保存当前工作区记录
git reset --hard <版本号>//撤销到某一次commit!!不会保存当前操作,谨慎操作
git reset HEAD^撤回一个本地提交
git push --force强制覆盖远程仓库
git branch -d <分支>
git config --global --edit
git commit --amend --reset-author
git config --global user.name "Your Name"
git config --global user.email you@example.com

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邹邹邹邹!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值