Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


10 questions online user: 5

0
votes
answers
59 views
+10

Squash提交閉合請求

0

我有合併和關閉請求。之後,我刪除了該分支。並且該分支的所有提交現在都顯示在合併分支的歷史記錄中。現在有一個選項可以在Git中恢復分支,但我真正想要的是壓縮該PR的某些提交,以便它不會顯示在合併分支的提交歷史記錄中。假設最初PR有5次提交併成功合併並關閉。 有沒有辦法壓縮合並和關閉的公關中的一些提交?Squash提交閉合請求

+0

https://stackoverflow.com/a/47048569/2303202 – max630

+0

我的問題是,我不能直接在合併的分支上更改提交歷史記錄,因爲這是受保護的分支。有沒有什麼辦法可以從封閉的請求或恢復的分支中重寫歷史? – Akshay

+0

不,如果一個提交是某個分支的歷史,那麼它是如何發生的。 IT無法將其刪除。 – max630

沙发
0
0

你會使用git rebase -i <hash of first commit before merge>,然後你可以選擇擠壓相關的提交。注意這是重寫實際的提交歷史記錄,所以如果你與其他人共享存儲庫,那麼在完成這些操作後你會有不同的提交,這是潛在的危險領域。

板凳
0
0

的唯一方法是改變在master分支歷史(假設你的feature/branch被合併上master):

$ git checkout master 
$ git reset --hard <commit-before-merge> 
$ git push -f origin master 

現在你可以修改你的歷史:

$ git checkout feature/branch 
# Hypothesis: 5 commits to squash together 
$ git rebase -i HEAD~5 
# Rewrite your history: reword, squash, etc... 

在這一點,也許你應該重新分配特徵/主分支

$ git rebase master 

一旦你滿意你的分支歷史,你可以把上游:

$ git push -f origin feature/branch 

然後創建GitHub上一個新的拉請求,並把它合併

重要事項

每個人跟蹤分支master將不得不頒發git pull --rebase以重新與上游重新同步它們的歷史記錄,其被改寫爲:

$ git checkout master 
$ git pull --rebase origin master 

這將防止任何衝突和/或合併提交將上游歷史視爲理所當然(接受theirs),發出快進。

這同樣適用於分支仍取決於master,這將需要相應地重建基礎:

$ git checkout feature/branch-still-depending-from-master 
$ git rebase master 

希望這有助於;)

0
votes
answers
59 views
+10

在GitHub上更新我的簡歷

1

我使用GitHub頁面託管我的個人網站一段時間。今天,我更新了我的簡歷,並希望將其推送到遠程存儲庫。在GitHub上更新我的簡歷

我原來的簡歷被命名爲'Resume.pdf'。我的新更新的簡歷再次被稱爲'Resume.pdf',我已經把它放在我的本地存儲庫中,替換原來的。除此之外,我沒有做任何其他改變。但是現在我的Git Shell拒絕承認我的本地存儲庫有任何更新(並且自從它是一個.pdf文件就可以理解了)。所以,當我運行git status命令時,它不會顯示任何要添加的內容,因此也不會提交任何內容。

我想知道是否有某種方式可以強制承諾並推送新的簡歷。此外,這種強有力的承諾是否有效(從誠信的角度來看)?

+0

聽起來很奇怪,因爲git知道要管理二進制文件。如果我是的話,我會仔細檢查它是否是你正在嘗試更新的簡歷 – Pavel

沙发
0
0

仔細檢查,如果該文件不會被忽略:

git check-ignore -v -- Resume.pdf 

如果可以用git add -f -- Resume.pdf添加。

0
votes
answers
87 views
+10

「混帳」不被識別爲一個內部或外部命令的[Windows]

1

不是「混帳」不被識別爲一個內部或外部命令的[Windows]

'git' is not recognized as an internal or external command

我建立了我的github倉庫重複,下載Github上桌面,但我無法弄清楚如何將文件上傳到回購站。

Here are Github's instructions for me

我已經做了「快速設置」,並建立了GitHub的桌面我的電腦上。但是,我無法使命令行回購設置正常工作。每當我輸入一個git命令時,它會給出上述錯誤。我試圖研究爲什麼發生這種情況,但唯一相關的來源(上面鏈接)給出了有關過去版本的github應用程序的說明。

我知道這可能很簡單,但我很新,不知道該怎麼做。任何幫助表示讚賞。

沙发
0
0

如果以某種方式GitHub Destop沒有添加內部Git到您的PATH,您可以手動使用最新的Git for Windows release

解壓檔案PortableGit-2.15.0-64-bit.7z.exe任何你想要的和add it to your PATH (as I do here),然後啓動GitHub桌面。

+0

我已經下載了可移植的git,但我無法將它添加到我的路徑使用其他帖子中的命令。有什麼我失蹤? –

+0

你可以用你輸入的命令編輯你的文章。另外請確保從同一個CMD會話啓動GitHub桌面。 – VonC

+0

我在你的其他帖子中一行一行地輸入了正確的內容,沒有任何變化。每次我進入時,什麼都沒有發生。 –

0
votes
answers
52 views
+10

看看什麼拉請求取決於我的分支(github)

1

我最近合併了一個分支到主,現在想刪除它,我已經完成了它。但github告訴我,我不能刪除它,因爲一些打開的拉取請求取決於它。我如何找出哪些拉取請求取決於這個分支?看看什麼拉請求取決於我的分支(github)

+0

你可以鏈接存儲庫嗎? – Nacev

+0

不幸的是,我不能。這是github企業... – xxiane

沙发
0
0

我發現我的一個打開的拉取請求試圖合併到我試圖刪除的分支中,而不是像原本應該合併到主分支中。解決這個問題讓我可以刪除我的分支。

我找不到方法來輕鬆查看涉及任何給定分支的所有打開的拉取請求,因此我必須逐個查看我的開放PR。

0
votes
answers
78 views
+10

Xcode9無法進入Git的用戶名而Git拉

0

我工作的一個應用,在那裏,我從遠程git倉庫拉我的代碼,而這樣做的Xcode不是讓我進入我的GitHub上的用戶名。它顯示'git'作爲預填充禁用用戶名。請檢查附加的截圖鏈接相同。Xcode9無法進入Git的用戶名而Git拉

enter image description here

+0

也許是因爲回購是私有的,您需要引入它的密碼? – Nacev

+0

謝謝,請回復..!你是正確的回購是私人的,但我的用戶名不列出那裏git不是我的用戶名。輸入正確的密碼後,它給我一個無效的憑據錯誤。 – Ram

+0

嘗試輸入創建時獲得的回購密碼。 – Nacev

沙发
0
0

我會推薦給:https://github.com/contact並寫入要修改密碼的消息,他們將幫助您低谷是肯定的!

+0

其實,我的密碼是正確的,因爲我能夠在網絡上使用相同的密碼登錄。 – Ram

+0

的將surelly能夠解決任何問題:)也許是站在他們那一邊 – Nacev

0
votes
answers
60 views
+10

在Eclipse egit中檢出github發行版?

0

我該如何設置egit從github上發佈發佈版本,而不僅僅是主發佈版本?在Eclipse egit中檢出github發行版?

我在找一個版本0.4.0。 在附件中,簽出的項目不會從遠程屬性中獲取,rebase,遠程和上游分支未設置。我從標籤中獲得了這個結帳,但它不正確。

This checkout wasn't pulled from remote

+0

爲什麼你認爲這是不正確的?提交'23d3472'被標記爲'v0.4.0',並且當前分支'v0.4.0-branch'的狀態是提交'23d3472'。 – howlger

+0

純粹是因爲選擇該分支時,其屬性窗格沒有上游或其他。 (並不是說我打算在現階段回到這個項目) – MaxRussell

沙发
0
0

你有已簽出正確的提交:你當前分支v0.4.0-branch的頭部提交23d3472被標記爲v0.4.0

在Git a 標記引用提交,而不是分支。一個提交可以在多個分支中,甚至是多個分支的頭部。對於發行版,如果發行版不打算維護,通常會使用標籤而不是分支。相反,在特定分支的最新階段/提交(避免合併或重新分配)之上,歡迎提供捐款,主要在masterdev(eloper)分支上。

你的情況,有助於VCVRack/Rack

  1. 在GitHub上的VCVRack /機架庫(假設你是不是這個項目的成員)
  2. 在Eclipse 克隆分叉的GitHub知識庫
  3. 在Eclipse中提交併推送您建議的更改爲單個提交master分支的分叉的GitHub庫(目前,有177 commits to master since the v0.4.0 tag
  4. 在GitHub上創建一個pull request在此基礎上提交
0
votes
answers
65 views
+10

Git刪除更改

1

我有團隊項目,我已對代碼做了一些更改,但尚未提交。我想從github中帶來最新版本的代碼,它沒有做過我已經做過但未提交的更改。我不記得我改變了哪些課程。我只需要在上次提交後刪除最近的更改。Git刪除更改

沙发
0
1

這將刪除所有非COMMITED變化:

git reset --hard HEAD 

正如sleske指出,這將完全刪除所有更改!如果你只是想能夠git pull從GitHub,你可以stash更改暫時刪除它們,pull然後用stash pop帶回你的變化:

git stash 
git pull 
git stash pop 
+0

警告:這將*無法挽回*刪除您的更改。您將無法在稍後恢復!如果那是你想要的,那就好。 Otherweise有辦法刪除更改,但保留它們以備後用(git stash,臨時提交)。 – sleske

板凳
0
1

如果您使用的是代碼編輯器,如原子你可能有一個git標籤,你可以回到最新的拉應該看起來像這樣:enter image description here

通過使用這個選項,你將能夠總是回去看看差異。 如果不是,你應該git stash然後git pull,你會回到回購的最後一個版本。 您可以隨時使用此方法並使用git命令返回:git stash pop 好運編碼!

0
votes
answers
38 views
+10

如何在cloud9 IDE上創建,刪除和創建全新的git分支?

-1

我創建了一個名爲'contact'的分支,它沒有像我期望的那樣工作,所以我刪除了分支並最終再次創建它。當我將它推到git時,出現一個錯誤。確切地說,我應該寫什麼git命令cloud9,以創建同一分支成功?謝謝。這裏是日誌:如何在cloud9 IDE上創建,刪除和創建全新的git分支?

提示:更新被拒絕,因爲您的當前分支的提示後面 提示:其遠程副本。在再次推送之前,集成遠程更改(例如 提示:'git pull ...')。 提示:有關詳細信息,請參閱'git push --help'中的'關於快速轉發的注意事項'。

沙发
0
0

要創建一個分支,刪除,然後再創建同一分支,寫:

```

git checkout -b name_of_branch 

tip 

git reset --hard 

``` 然後,檢出新分支創建

0
votes
answers
57 views
+10

無法從intellij上的github上拉項目

1

我想拉一個朋友剛剛在github上推送的一個朋友與intellij Idea的更新。我打開我的計算機上的項目,簽出正確的分支,去VCS - > git - >拉,選擇正確的分支,但沒有附加任何東西。無法從intellij上的github上拉項目

我決定繼續github,以驗證在存儲庫上應用的更改,是的,存儲庫在github中是最新的,但我無法執行更改。

我也試圖複製該項目,並重新創建IntelliJ IDEA的一個新的項目,但它不會更改...

有人能解釋我如何解決我的問題,並獲得該項目的所有更改?

+0

如果您的存儲庫的本地副本是最新的,則拉動將不起作用。 'git fetch -v'說什麼? – Makoto

+0

i我使用的終端來自Intellij Idea 它返回我: 從「另一個我正在工作的項目」 = [最新]分支機構想使用 - > origin /「同一分支」 = [最新] anotherBranch - > origin/master 這是否意味着我試圖從一個隨機存儲庫中拉東西? – JerDum

沙发
0
0

這是否意味着我試圖從隨機存儲庫中取出某些東西?

爲了避免這種情況,最簡單的解決方法是:

  • git clone GitHub的回購在另一個文件夾
  • 打開該文件夾與IntelliJ IDEA的:它將識別項目(和遠程Git的回購)

OP JerDum增加in the comments

存儲在.gitconfig中的一些附加信息,以及這些信息會干擾Intellij Idea以及終端中的Git。

+0

我試圖做到這一點,但我克隆了錯誤的存儲庫。事實上,它正在克隆我的一所學校工作的倉庫,而不是我想要的東西。我去了gitlab,看看有沒有什麼變化,我在我的學校項目中添加了一個分支。我下載ZIP文件來保存我的工作,但它不會改變我的git的問題:/ – JerDum

+0

@JerDum一旦克隆,你看到正確的URL在它打字的時候'git的遠程-v'?也許這只是獲得正確分支的問題:你在做'git branch -avv'時看到了嗎? – VonC

+0

嗨, 當我在終端克隆,我注意到它要求我用我的gitlab帳戶(和我想克隆的項目在github上)標識自己。 然後,當我寫「混帳遠程-v」,還給了我這樣的事情: 「致命:這個,沒有這個家長資源庫是一個git存款」 – JerDum

0
votes
answers
39 views
+10

Squash在GitHub上提交PR

1

我在一個GitHub分支上完成了6次完整的在線提交,我需要將它們壓縮到1次提交中。有沒有一個按鈕可以做到這一點?我只在GitHub網站上進行了提交,因此有沒有辦法在不使用命令行的情況下執行此操作?Squash在GitHub上提交PR

+1

https://help.github.com/articles/about-pull-request-merges/ – jonrsharpe

沙发
0
0

當合並,而不是僅僅單擊「合併拉請求」按鈕,點擊下拉菜單並選擇「壁球和合並」選項(第二個選項下):

enter image description here

+0

謝謝爲你的幫助到目前爲止!不過,我試圖合併到另一個存儲庫,而不是我自己的。你有什麼想法如何去做這件事? – Erika

板凳
0
0

看來你無法將您的提交純粹與GitHub合併(我在Google上進行了簡短搜索,似乎沒有介紹它),但您可以使用squash your commits during merging。在你的問題中說on a GitHub branch completely online,你似乎在GitHub上持有第二個分支。然後,當您將該分支合併到主分支時,您可以決定是否將這6個提交合併爲1.