私は現在、Windows Github GUIを使用しており、見た目も簡単なので、頻繁に使用しようとしています。私が遭遇した問題は、プロジェクトをフォークするときに、そのフォークをgitで更新する方法がわからないことです。
4 に答える
参考までに、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マージアップストリーム/マスター
GitHub for Windowsは、現時点では1つのリモートのみをサポートしています(origin
フォークを参照します)。
したがって、元のリポジトリを参照するリモート(''と呼ばれる)を手動で追加する必要があります。これによりupstream
、(CLIから)プルしupstream
、ローカルリポジトリを更新し、プッシュできるようになります(今回はGUIを使用)。新しいフォークへのコミット。
詳細については、「 githubのオリジンとアップストリームの違いは何ですか」を参照してください。
フォークの同期
リポジトリのフォークを同期して、アップストリームリポジトリで最新の状態に保ちます。
ヒント:フォークをアップストリームリポジトリと同期する前に、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)にアップロードします。
元のリポジトリからフォークリポジトリを同期するにはどうすればよいですか?
簡単に理解できるように、私は現実の例を呼び出します:このリポジトリを同期します: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/