20

私は現在、Windows Github GUIを使用しており、見た目も簡単なので、頻繁に使用しようとしています。私が遭遇した問題は、プロジェクトをフォークするときに、そのフォークをgitで更新する方法がわからないことです。

4

4 に答える 4

30

参考までに、http ://processwire.com/talk/topic/1565-github-for-windows/の投稿から詳細な手順をここにコピーします。

  • 「GitHubforWindows」ローカルリポジトリビューで、右クリックして「open a shell here」を選択します
  • これにより、すでに正しいディレクトリにあるシェルが開きます。次のコマンドを入力します。
#元のリポジトリを「アップストリーム」と呼ばれるリモートに割り当てます
git remote addアップストリームhttps://github.com/path_to_your_repository.git

#ローカルリポジトリに存在しない元のリポジトリから変更をプルします。
#ファイルを変更せずに。
#最初に確認できます。
gitフェッチアップストリーム

#フェッチした変更を作業ファイルにマージします。
gitマージアップストリーム/マスター
于 2013-04-11T08:11:04.157 に答える
17

GitHub for Windowsは、現時点では1つのリモートのみをサポートしています(originフォークを参照します)。

したがって、元のリポジトリを参照するリモート(''と呼ばれる)を手動で追加する必要があります。これによりupstream、(CLIから)プルしupstream、ローカルリポジトリを更新し、プッシュできるようになります(今回はGUIを使用)。新しいフォークへのコミット。

詳細については、「 githubのオリジンとアップストリームの違いは何ですか」を参照してください。

于 2012-11-16T07:13:40.353 に答える
2

フォークの同期

リポジトリのフォークを同期して、アップストリームリポジトリで最新の状態に保ちます。

ヒント:フォークをアップストリームリポジトリと同期する前に、Gitのアップストリームリポジトリを指すリモートを構成する必要があります。

1.ターミナル(Macユーザーの場合)またはコマンドプロンプト(WindowsおよびLinuxユーザーの場合)を開きます。

2.現在の作業ディレクトリをローカルプロジェクトに変更します。

3.アップストリームリポジトリからブランチとそれぞれのコミットを取得します。コミットmasterはローカルブランチに保存されupstream/masterます。

$ git fetch upstream


4.フォークのローカルmasterブランチを確認します。

$ git checkout master


5.upstream/masterからの変更をローカルmasterブランチにマージします。これにより、ローカルの変更を失うことなく、フォークのmasterブランチがアップストリームリポジトリと同期されます。

$ git merge upstream/master

ローカルブランチに一意のコミットがなかった場合、Gitは代わりに「早送り」を実行します。

$ git merge upstream/master

ヒント:フォークを同期すると、リポジトリのローカルコピーのみが更新されます。GitHubでフォークを更新するには、変更をプッシュする必要があります。


ソース: https ://help.github.com/articles/syncing-a-fork/

ここに画像の説明を入力してください

Github for Windows(GUIアプリケーション)でボタンを押すSyncと、アプリケーションは変更されたファイルを独自のリポジトリ(Github.com)にアップロードします。 ここに画像の説明を入力してください

于 2015-05-10T00:50:24.127 に答える
2

元のリポジトリからフォークリポジトリを同期するにはどうすればよいですか?

簡単に理解できるように、私は現実の例を呼び出します:このリポジトリを同期します:https ://github.com/scrapy/scrapyからhttps://github.com/donhuvy/scrapy

すべてのステップがあります:

Last login: Fri Sep  2 08:45:34 on ttys000
Dos-MacBook-Pro:~ donhuvy$ 
Dos-MacBook-Pro:~ donhuvy$ 
Dos-MacBook-Pro:~ donhuvy$ ls
AndroidStudioProjects   IdeaProjects        Public
Applications        Library         PycharmProjects
Desktop         Movies          example.dump
Documents       Music           pgadmin.log
Downloads       Pictures        sun-appserv-samples
Dos-MacBook-Pro:~ donhuvy$ cd Documents/
Dos-MacBook-Pro:Documents donhuvy$ ls
$RECYCLE.BIN
13256069_130212657393823_216708148326317354_n.jpg
1511456_1453604554870601_599093550_n.jpg
4578-rc007-jquery_online.pdf
Apps
Programming ebooks
Setup
Treasure_Island_NT.pdf
Video tutorial
Virtual Machines.localized
films
postgresql-9.0-A4.pdf
program_files
source_code
vy.sql
workspace_javaee
Dos-MacBook-Pro:Documents donhuvy$ cd source_code/
Dos-MacBook-Pro:source_code donhuvy$ ls
github.com
Dos-MacBook-Pro:source_code donhuvy$ cd github.com/
Dos-MacBook-Pro:github.com donhuvy$ ls
AurelioDeRosa   donhuvy     hibernate-orm   scrapy      spring-projects
Dos-MacBook-Pro:github.com donhuvy$ cd donhuvy/
Dos-MacBook-Pro:donhuvy donhuvy$ ls
ZohoCRM_integration jquery3_examples
java_examples       real_estate
Dos-MacBook-Pro:donhuvy donhuvy$ git clone https://github.com/donhuvy/scrapy.git
Cloning into 'scrapy'...
remote: Counting objects: 40481, done.
remote: Total 40481 (delta 0), reused 0 (delta 0), pack-reused 40481
Receiving objects: 100% (40481/40481), 13.98 MiB | 746.00 KiB/s, done.
Resolving deltas: 100% (21135/21135), done.
Checking connectivity... done.
Dos-MacBook-Pro:donhuvy donhuvy$ '
> 
> 
> 
Dos-MacBook-Pro:donhuvy donhuvy$ 
Dos-MacBook-Pro:donhuvy donhuvy$ 
Dos-MacBook-Pro:donhuvy donhuvy$ ls
ZohoCRM_integration jquery3_examples    scrapy
java_examples       real_estate
Dos-MacBook-Pro:donhuvy donhuvy$ cd sc
-bash: cd: sc: No such file or directory
Dos-MacBook-Pro:donhuvy donhuvy$ cd scrapy/
Dos-MacBook-Pro:scrapy donhuvy$ ls
AUTHORS         README.rst      requirements.txt
CODE_OF_CONDUCT.md  artwork         scrapy
CONTRIBUTING.md     conftest.py     sep
INSTALL         debian          setup.cfg
LICENSE         docs            setup.py
MANIFEST.in     extras          tests
Makefile.buildbot   pytest.ini      tox.ini
NEWS            requirements-py3.txt
Dos-MacBook-Pro:scrapy donhuvy$ git log
commit ab42e2b5d531cbbf2ee46b49726604c90becbd3d
Author: vydn <v@vyhn.net>
Date:   Sat Apr 2 06:08:28 2016 +0700

    Change the content

    Change the content

commit bf7f67549378269c3976afc89abcf9c2190d242f
Merge: 9d8c368 9250a5b
Author: Paul Tremberth <paul.tremberth@gmail.com>
Date:   Fri Apr 1 15:47:06 2016 +0200

    Merge pull request #1847 from aron-bordin/add_blocking_storage_path_setting

    [MRG+2] added BLOCKING_FEED_STORAGE_PATH to settings

commit 9250a5bffa91c24dbea5c5d64c3c7cd9992a6ee7
Author: Aron Bordin <aron.bordin@gmail.com>
Date:   Sat Mar 5 19:36:02 2016 -0300

    added FEED_TEMPDIR to settings

commit 9d8c368ce8a24d7adb63b731df1359f3b05f3bdd
Dos-MacBook-Pro:scrapy donhuvy$ 
Dos-MacBook-Pro:scrapy donhuvy$ 
Dos-MacBook-Pro:scrapy donhuvy$ git fetch upstream
fatal: 'upstream' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Dos-MacBook-Pro:scrapy donhuvy$ git remote -v
origin  https://github.com/donhuvy/scrapy.git (fetch)
origin  https://github.com/donhuvy/scrapy.git (push)
Dos-MacBook-Pro:scrapy donhuvy$ git remote add upstream https://github.com/scrapy/scrapy.git
Dos-MacBook-Pro:scrapy donhuvy$ git remote -v
origin  https://github.com/donhuvy/scrapy.git (fetch)
origin  https://github.com/donhuvy/scrapy.git (push)
upstream    https://github.com/scrapy/scrapy.git (fetch)
upstream    https://github.com/scrapy/scrapy.git (push)
Dos-MacBook-Pro:scrapy donhuvy$ git fetch upstream
remote: Counting objects: 1329, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 1329 (delta 600), reused 599 (delta 599), pack-reused 723
Receiving objects: 100% (1329/1329), 425.28 KiB | 325.00 KiB/s, done.
Resolving deltas: 100% (920/920), completed with 141 local objects.
From https://github.com/scrapy/scrapy
 * [new branch]      0.12       -> upstream/0.12
 * [new branch]      0.14       -> upstream/0.14
 * [new branch]      0.16       -> upstream/0.16
 * [new branch]      0.18       -> upstream/0.18
 * [new branch]      0.20       -> upstream/0.20
 * [new branch]      0.22       -> upstream/0.22
 * [new branch]      0.24       -> upstream/0.24
 * [new branch]      1.0        -> upstream/1.0
 * [new branch]      1.1        -> upstream/1.1
 * [new branch]      asyncio    -> upstream/asyncio
 * [new branch]      deprecate-make-requests-from-url -> upstream/deprecate-make-requests-from-url
 * [new branch]      disable-toplevel-2 -> upstream/disable-toplevel-2
 * [new branch]      doc-arch-overview2 -> upstream/doc-arch-overview2
 * [new branch]      feature-1371-download-prios -> upstream/feature-1371-download-prios
 * [new branch]      fix-1330   -> upstream/fix-1330
 * [new branch]      fix-util-function-to-work-outside-project-dir -> upstream/fix-util-function-to-work-outside-project-dir
 * [new branch]      link-encoding -> upstream/link-encoding
 * [new branch]      master     -> upstream/master
 * [new branch]      no-max-rss -> upstream/no-max-rss
 * [new branch]      py3-chunked -> upstream/py3-chunked
 * [new branch]      release-notes-1.1.2-master -> upstream/release-notes-1.1.2-master
 * [new branch]      remove-prerelease-configuration -> upstream/remove-prerelease-configuration
 * [new tag]         1.0.6      -> 1.0.6
 * [new tag]         1.1.2      -> 1.1.2
 * [new tag]         1.1.0      -> 1.1.0
 * [new tag]         1.1.0rc4   -> 1.1.0rc4
 * [new tag]         1.1.1      -> 1.1.1
Dos-MacBook-Pro:scrapy donhuvy$ git checkout master
Already on 'master'
Your branch is up-to-date with 'origin/master'.
Dos-MacBook-Pro:scrapy donhuvy$ git merge upstream/master
error: There was a problem with the editor 'vi'.
Not committing merge; use 'git commit' to complete the merge.
Dos-MacBook-Pro:scrapy donhuvy$ git commit -m "update"
[master 6f16b46] update
Dos-MacBook-Pro:scrapy donhuvy$ git push
Counting objects: 915, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (380/380), done.
Writing objects: 100% (915/915), 235.84 KiB | 0 bytes/s, done.
Total 915 (delta 677), reused 769 (delta 535)
remote: Resolving deltas: 100% (677/677), completed with 99 local objects.
To https://github.com/donhuvy/scrapy.git
   ab42e2b..6f16b46  master -> master
Dos-MacBook-Pro:scrapy donhuvy$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
Dos-MacBook-Pro:scrapy donhuvy$ 

ここに画像の説明を入力してください

重要なポイント:

手順1.ディレクトリを変更します。

cd /Users/donhuvy/Documents/source_code/github.com/donhuvy/

念のため:

pwd

ステップ2.https://github.com/donhuvy/scrapyにアクセスし、右上を見て、リポジトリリンクをコピーします

https://github.com/donhuvy/scrapy.git

ステップ3.サーバーからローカルへのクローン作成

git clone https://github.com/donhuvy/scrapy.git

ステップ4.https://github.com/scrapy/scrapyにアクセスし、右上を見て、リポジトリリンクをコピーします

https://github.com/scrapy/scrapy.git

ステップ5.アップストリームリポジトリリンクを追加する

git remote add upstream https://github.com/scrapy/scrapy.git

ステップ6.リポジトリリストを確認します:git remote -v

結果:

オリジン https://github.com/donhuvy/scrapy.git(フェッチ)オリジン https://github.com/donhuvy/scrapy.git(プッシュ)アップストリーム https://github.com/scrapy/scrapy.git(フェッチ) )アップストリーム https://github.com/scrapy/scrapy.git(プッシュ)

ステップ7.上流にフェッチ

git fetch upstream

ステップ8.アップストリームリポジトリからマスターブランチを取得する

git checkout master

ステップ9.ソースコードをマージします。

git merge upstream/master

ターミナル内でVimエディターを開き、コミットメッセージを編集し、 iを押して編集を開始し、esc:wqを押します。終了して保存します。

ステップ10.コミットする

git commit -m "update"

ステップ11.gitpushをプッシュします

ステップ12.確かに

git status

On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
Of course, I try to my post have no 13rd step.

参照:

https://help.github.com/articles/configuring-a-remote-for-a-fork/ https://help.github.com/articles/syncing-a-fork/

于 2016-09-02T04:38:13.837 に答える