Git remote 及 提交操作步骤

  • Post author:
  • Post category:其他


注:社区提交常用的git命令和操作



git remote 本地仓库和远程仓库 repository



git remote -vt

查看远程仓库有几个



git remote add

添加远程仓库

本地仓库和远程仓库一般配合完成,通过

git remote add [远程仓库名] 远程仓库地址

来添加当前本地仓库的远程仓库,这样本地仓库会知道当

git push

的时候会往那个远程提交代码。

如果

git push

不加参数,默认就是

git push origin [当前分支名]

之前操作,第一次从远程拉取,推送的时候

git push --set-upstream origin [b分支名]

,建立了本地仓库和远程仓库的关联,以后只需要

git push

就可以完成本地像远程的推送了。



git remote add local [本地仓库路径]


git remote add local ~/home/code/nspace/nuttx/


将git的远程分支设置为本地文件系统的位置,这样可以通过

commit-id

进行

cherry-pick

操作了。之前需要

git fetch local

保证更新了local仓库的commit-id。



git remote rm [远程仓库名]


git remote add local ~/home/code/nspace/nuttx/



git remote -v



git remote rm local



git remote -v



git fetch



git fetch

更新 git remote 中

所有远程仓库

所包含分支的最新

commit-id

,将其记录到

.git/FETCH_HEAD



git fetch [remote_repository]

更新名称为remote_repository的远程仓库上的所有branch的最新commit-id,记录到

.git/FETCH_HEAD



git fetch [remote_repository] [remote_branch_name]

更新名称为remote_repository的远程仓库上的remote_branch_name分支



FETCH_HEAD

是一个版本链接,记录在本地的一个文件中,指向目前已经从远程仓库取下来的分支的末端版本



🐖

所以有时候需要使用fetch对远程仓库更新



git cherry-pick


git cherry-pick [commit-id]



git commit



git commit -s -m “xxx”

提交时添加签名信息




git commit –amend

修改提交


https://www.jianshu.com/p/7d40838883af



操作Step

创建github账号,添加ssh-key,fork某个仓库(apach/nuttx为例),本地git已经配置好了前提

本地从自己的github克隆fork的代码


git clone git@github.com:username/nuttx.git



cd nuttx



git fetch



git remote -v

查看

添加社区仓库到本地的远程仓库


git remote add apache https://github.com/apache/nuttx.git



git remote -v

查看

获取clone后的更新


git fetch origin



git fetch apache


更新下本地及github fork的代码


git branch



git checkout master



git fetch apache



git rebase apache/master

*** [快进master至apache/master]


git branch -vv

[*master commit-id [origin/master: ahead 628]]


git add .



git commit -s

[位于分支master,领先origin/master共628个提交,使用git push来发布本地提交]


git push origin master

[本地,远程github fork的都和社区里的一样了]

添加本地的代码,进行cherry-pick


git remote add local ~/code/nspace/nuttx/



git fetch local


本地需要创建一个新的提交分支,不好在master进行


git branch --track my_dev apach/master



git checkout my_dev



git cherry-pick [local本地代码里的某些提交id]

把local目录下的本地开发分支里的某些commit拿出来cherry-pick过来


git push origin my_dev

提交到了自己github fork仓库下的my_dev分支里

在github fork仓库下提出request


pull request



参考链接


git命令之git fetch的用法



将git的远程分支设置为本地文件系统位置



git cherry-pick



版权声明:本文为weixin_42040046原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。