Is it possible to create merge requests in pure Git from the command line?

后端 未结 4 620
闹比i
闹比i 2020-12-13 03:42

I\'m using a behind-firewall install of Gitorious.

I can go into the web application and create a pull request from a clone and target the master repo from which it

相关标签:
4条回答
  • 2020-12-13 04:18

    There is no such thing as “merge request” in git itself. So, if this would be possible, it would require something specific to your git host.

    0 讨论(0)
  • 2020-12-13 04:24

    The answer given by svick is not correct. It is possible.

    There's git request-pull which is part of the Git suite. Using that command line tool, you could create a pull request that could be sent per E-Mail.

    Example:
    your origin holds a branch master. Now you create a local bugfix branch fix, implement the bug fix and push that fix branch to origin:

    git push origin fix:fix
    

    Then, you want someone to merge the changes made in the fix branch into master. Create the pull request with

    git request-pull master origin
    

    This will create a text formatted as follows:

    The following changes since commit <SHA of master>:
    
      <commit message of SHA of mster>
    
    are available in the git repository at:
      <repo location> fix
    
    <User Name> (<Number of Commits>):
          <messages of the commits>
          ...
    
     <changed files>
     ...
     <file statistics>
    

    If the merge request shall go to somebody that cannot access your repo where you pushed your changes, there's always the opportunity of doing it with git format-patch.

    After pushing your fix branch to origin (you don't even need to do that), while being on the fix branch create the patch using

    git format-patch master..
    

    This will create a patch file for each commit you did in fix since branching off master. You could bundle the generated .patch files with

    tar czf fix.tgz *.patch
    

    and then send to someone e.g. via E-Mail to review and apply.

    For the sake of completeness: applying the patches could be done with git am.

    0 讨论(0)
  • 2020-12-13 04:35

    Gitlab add this feature from v11.10. After committing your final changes, instead of push simply use:

    git push -o merge_request.create
    

    to create a merge request. More details in push docs or merge request docs.

    0 讨论(0)
  • 2020-12-13 04:39

    You may use this command line tool: https://github.com/brauliobo/gitorious-merge-request

    ./gitorious-merge-request -e brauliobo@gmail.com -s 'test' -r '~brauliobo/noosfero/brauliobos-noosfero' -a easysafeinstall -b master -t 'noosfero/noosfero'
    
    0 讨论(0)
提交回复
热议问题