2012-01-08 113 views
178

我在GitHub上創建了一個帳號—我是新手—,我在添加文件時遇到問題。我已添加readme.txt。另外,我還有3個其他PHP文件和一個包含圖像的文件夾。如何將文件和文件夾添加到GitHub倉庫?

如何添加文件和文件夾?我嘗試了git pull,因爲git push origin -u master向我顯示了一個錯誤。

+7

試過[官方git教程](http://schacon.github.com/git/gittutorial.html)?這在開始時就已經涵蓋了。 – jweyrich 2012-01-08 06:42:17

+2

我推薦這本書ProGit的在線版本是免費的http://progit.org/book/ – house9 2012-01-08 06:43:17

+0

注意:自2012年12月以來,您可以通過GitHub網頁界面直接創建文件。請參閱[我的答案](http://stackoverflow.com/a/13765502/6309)。 – VonC 2013-06-28 05:24:59

回答

287

您可以添加使用git add文件,比如git add READMEgit add <folder>/*,甚至git add *

然後使用git commit -m "<Message>"提交文件

最後git push -u origin master推文件。

當你做修改即可運行git status,讓你修改的文件列表,添加它們使用git add *的一切,也可以分別指定每個文件,然後git commit -m <message>最後,git push -u origin master

例子 - 假設您創建了一個文件README,運行git status給你

$ git status 
# On branch master 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# README 

運行git add README,該文件將上演承諾。然後再次運行git status,它應該給你 - 文件已被添加並準備好提交。

$ git status 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# new file: README 
# 

nothing added to commit but untracked files present (use "git add" to track) 

然後運行git commit -m 'Added README'

$ git commit -m 'Added README' 
[master 6402a2e] Added README 
    0 files changed, 0 insertions(+), 0 deletions(-) 
    create mode 100644 README 

最後,git push -u origin master推遠程分支master存儲庫origin

$ git push -u origin master 
Counting objects: 4, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (2/2), done. 
Writing objects: 100% (3/3), 267 bytes, done. 
Total 3 (delta 1), reused 0 (delta 0) 
To [email protected]:xxx/xxx.git 
    292c57a..6402a2e master -> master 
Branch master set up to track remote branch master from origin. 

這些文件已成功推送到遠程存儲庫。

運行git pull origin master,以確保你已經吸收任何上游變化

$ git pull origin master 
remote: Counting objects: 12, done. 
remote: Compressing objects: 100% (4/4), done. 
remote: Total 8 (delta 4), reused 7 (delta 3) 
Unpacking objects: 100% (8/8), done. 
From xxx.com:xxx/xxx 
* branch   master  -> FETCH_HEAD 
Updating e0ef362..6402a2e 
Fast-forward 
public/javascript/xxx.js | 5 ++--- 
1 files changed, 2 insertions(+), 3 deletions(-) 
create mode 100644 README 

如果你不想合併與本地資源庫,運行git fetch獲取的變化上游更改,然後git merge合併更改。 git pull只是fetchmerge的組合。

我曾親自使用gitimmersion - http://gitimmersion.com/獲得高達曲線上git的,它一步一步的指導,如果你需要一些文檔和幫助

+1

http://gitimmersion.com/太棒了,謝謝。 – Azoreo 2013-08-16 18:02:52

+7

'git add --all folder /'對我來說比我的git add folder/*'更適合我的工作' – Alex 2014-07-23 18:10:41

+2

是否遞歸地添加所有文件和文件夾? – Alix 2015-04-17 17:12:39

6

您需要簽出庫到本地機器上。然後,您可以在本地機器上更改該文件夾。

git commit -am "added files" 

該命令將提交所有文件到回購。

git push origin master 

這將推動在你的主分支的所有變化(我以爲是你正在使用一個)到遠程倉庫原點(在這種情況下github上)

19

注意,自2012年12月初,你可以創建new files directly from GitHub

Create new File

普羅蒂普:您可以預先填充只使用URL文件名場。
在網址末尾鍵入?filename=yournewfile.txt將預先填充名稱爲yournewfile.txt的文件名字段。

d

+2

如何上傳文件,如圖像? – 2013-08-28 22:10:32

+0

@DrewBaker這裏描述的機制是用於創建文本文件。對於圖片,你仍然需要克隆一個GitHub倉庫,在本地添加圖片,提交併推送。 – VonC 2013-08-29 05:52:52

+0

感謝和+1的提示「直接從GitHub創建新文件」! – zeFree 2013-11-07 19:29:22

35

對於Linux和MacOS用戶:

  1. 首先要在github存儲庫(名稱= RepositoryName)。
  2. 打開終端並創建新目錄(mkdir NewDirectory)。
  3. 將您的ProjectFolder複製到此NewDirectory。
  4. 將當前工作目錄更改爲NewDirectory。
  5. 運行這些命令
    1. GIT中的init
    2. GIT中添加ProjectFolderName
    3. git的承諾-m 「第一次提交」
    4. git的遠程添加原點https://github.com/YourGithubUsername/RepositoryName.git
    5. GIT中推-u原點主
1

當將目錄添加到github中,如果它刪除它,則檢查該目錄是否包含使用「ls -a」的.git文件。當你試圖在git中添加一個目錄時,.git文件會導致問題

相關問題