搜尋

首頁  >  問答  >  主體

關於git 如何運用提交到github.com的問題,讓人十分不解

已經在github.com建立了一個repository,想實現的就是,像SVN提交那樣用git到github.com。安裝遇到遇到很多問題

1)以下幾個必須全部安裝嗎

(1).git-1.9.4-preview.exe
(2).TortoiseGit 
(3).github.com 官网的 git for windows

似乎是必須三個必須安裝,否則就無法使用?為什麼要安裝(1)git.exe?庫是在遠端的
還有第(3)個為什麼也必須安裝才可以使用?

2)建立的問題,複製到的目錄必須為空?

我已經在github.com上創建了一個repository,然後我打算將本地的d:/website/example.com/www(這是DOCUMENT_ROOT) 作為源碼目錄提交過去,可是當我當前位置是在d:/ website/example.com 這裡的時候,點擊克隆。之後卻變成了 d:/website/example.com/example.com,然後將位置切換到 d:/website,再克隆,卻一直失敗,提示目錄 d:/website/example.com 不是空目錄。
但是我本地已經做好了,難道非得先新建一個空目錄,克隆之後,再複製原先已經做好的過去?

3) 右鍵Git提交->master 必須輸入備註訊息,否則無法提交?

克隆了之後,把原先做好的源碼再貼到了目錄d:/website/example.com/www下,目錄下點擊右鍵Git提交->master,但是卻發現必須輸入「日誌資訊」否則無法提交?如果「日誌資訊」這個框沒有輸入內容,那個「確定按鈕」就總是灰色的。

4)為什麼安裝了之後右鍵選單的這幾個不是重複的嗎?

安裝完tortoiseGit Git這幾個軟體之後,右鍵選單變得非常長。

1.Git add all file 这个是用来做将文件添加.git目录中配置好的远程github.com上吗?
如果是这样,那岂不跟 他下面的“Git提交到->master”功能一样了?(点击无反应)

2.Git Commit Tool 点击后弹出提交框,但是无法提交。是提交到那里去?

5)很多疑問,很多不解

1.仅仅是为了将本地的提交到远程github.com托管,
已安装了TortoisGit客户端后还必须安装git.exe吗

2.电脑Win7里面已安装了TortoisSVN,文件夹图标可以显示。
但安装后的TortoisGit文件夹图标不显示。是否是冲突?

3.右键菜单中的 这几项“Git add all file”、“Git commit tool”
功能是否跟TortoisGit 功能是重合的?
可否去掉,右键菜单太长了。

4.“Git 同步”是否就是“将本地的同步到远程”?
还是说“同步远程到本地”?点击后再点击弹出的面板上的“推送”
却需要输入Github.com的用户名,密码?
但是我使用“Git 提交->master”却不需要输入用户名密码。

一開始覺得原理應該很簡單的,安裝一個可以提交的客戶端就可以了。但是現在卻似乎不是想像的那樣,弄得很暈。我使用SVN的時候安裝TortoisSVN就可以用來提交了,其他什麼都不需要安裝。

巴扎黑巴扎黑2797 天前789

全部回覆(7)我來回復

  • 迷茫

    迷茫2017-04-26 09:03:43

    1. TortoisGit是GUI版的git客戶端,git.exe是命令列工具,兩者功能是一樣的。你可以只裝一個,但會喪失圖形介面/命令列下的便利性。至於GitHub for Windows只是GitHub自己的一個客戶端,你可以不裝。
    2. git就是這麼規定的,每個倉庫一個目錄,這個目錄會放在你的目標目錄下,事先不能存在,git會創建
    3. git的規定,每次commit必須寫comment,再說這也是個好習慣不是?
    4. git add ...是把文件放入git的管理之下,下次commit的時候會提交到本地倉庫
    5. ……

      1. 1
      2. 這個不清楚,你可以看TortoisGit的幫助,但我想應該不會
      3. 這個應該是不同的客戶端自己分別加進去的,你不裝那麼多客戶端就應該沒有那麼多菜單項目了
      4. git可以做雙向同步,push是把本地更新的內容推送到遠端,pull是把遠端更新的內容取回本地

    git的原理是挺簡單的,但和SVN不一樣,如果你把SVN的概念套到git上會把自己搞糊塗。

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-26 09:03:43

    首先你要理解的是,Git的工作跟Subversion不同的之處:Subversion的所有操作都是直接對服務端,你做任何查看、添加文件、提交,都是直接操作服務端的程式碼庫。用Subversion的思維去理解Git,可以理解為Git把這些操作分成了兩步,第一步是在本地碼庫,第二步是遠端程式碼庫(例如Github),這兩步是不同的指令完成的(而不是像svn那樣合併在一步完成)。你做的操作,除了clone、push、pull、fetch、ls-remote等少數幾個指令是針對遠端程式碼庫的操作,其他的例如查看log、新增檔案、提交、分支管理、重置等操作全部是針對本地倉庫。
    正是因為分為了本地庫和遠端庫,所以Git才可以離線、實現分佈式,而不是像svn那樣必須綁定在一個程式碼庫上、必須在線上才能操作。

    下面回答你的問題:

    `>1)以下幾個必須全部安裝嗎

    其實只需要安裝git的命令列工具git-1.9.4-preview.exe,其他的都不是必須的

    2)建立的問題,複製到的目錄必須為空?

    是的,clone操作會新建目錄,如果目錄已經存在,那麼它應該是覆蓋還是合併呢?覆蓋的話,你原來的東西就丟了。合併的話,這個倉庫裡面就混雜了其他的東西。

    如果你知道你自己在做什麼,你可以不必刪除這個目錄。在這個目錄裡面自己用這些指令把遠端倉庫合併到你自己的倉庫裡。

    git init
    git remote add
    git fetch
    

    3) 右鍵Git提交->master 必須輸入備註訊息,否則無法提交?

    對應git commit命令,默认情况下提交commit必须要有comment。你可以提交一个没有comment的commit,不过得用命令行git commit --allow-empty-message

    1.Git add all file 這個是用來做將檔案加入.git目錄中設定好的遠端github.com上嗎?
    如果是這樣,那豈不跟 他下面的「Git提交到->master」功能一樣了? (點擊無反應)

    「Git add all file」 對應指令 git add .,不是添加到远程github中,而是添加到本地仓库的cache里面,之后你做git commit的時候,提交的內容就是cache裡面的這些檔案。沒有加入的檔案不會包含在commit裡面。

    「Git提交到->master」應該也不是提交到遠端github上,而只是提交到你的本地倉庫的master分支上。如果你還沒有git add文件,那就表示沒有任何修改要提交,當然就沒有反應。還是建議你用命令行,最直觀,有什麼問題都能看的清清楚楚。

    1.僅僅是為了將本地的提交到遠端github.com託管,
    已安裝了TortoisGit客戶端後還必須安裝git.exe嗎

    TortoisGit只是git的一個"殼",所有的操作最終還是去調用git的命令行來完成的.所以必須安裝git.其實我建議你直接用命令行,比起GUI來說更加直截了當,理解起來也容易一些。

    2.電腦Win7裡面已安裝了TortoisSVN,資料夾圖示可以顯示。
    但安裝後的TortoisGit資料夾圖示不顯示。是否是衝突?

    可能需要重啟。

    3.右鍵選單中的 這幾項「Git add all file」、「Git commit tool」
    功能是否跟TortoisGit 功能是重合的?
    可否去掉,右鍵選單太長了。

    這幾個選單應該是別的工具產生的?Git add all file對應的指令是git add .

    4.「Git 同步」是否就是「將本地的同步到遠端」?
    還是說「同步遠端到本地」?點擊後再點擊彈出的面板上的「推播」
    卻需要輸入Github.com的用戶名,密碼?
    但是我使用「Git 提交->master」卻不需要輸入使用者名稱密碼。

    git的提交(commit)其實只是提交到本地的倉庫裡,不像svn那樣會提交到服務端.而"同步"實際上是push操作,將本地的已經提交過的commit發到另外一個倉庫裡.在本地倉庫commit不需要密碼,因為這是你自己的倉庫.push到遠端倉庫需要密碼,因為那是另外一個倉庫.

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-04-26 09:03:43

    這麼好用的github,被你理解的這麼難搞。網路上很多博文都有介紹的。你怎麼會理解成這個樣子。 。 。 。 svn和github根本不同,不要相提並論。

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-04-26 09:03:43

    Git 主打的是命令列操作, *nix 系統當中裝上 git 能跑命令列基本 OK 了.
    圖形工具很多版本, 結果越高搞複雜.
    建議先熟悉命令列工具, 然後找順手的圖形工具用.

    回覆
    0
  • 阿神

    阿神2017-04-26 09:03:43

    樓上有人針對你的問題給了對應的回答,我看樓主的情況想再補充點內容。

    • 目測樓主是剛接觸Git,之前有SVN的使用經驗,所以就不自覺的拿Git和SVN相比。我也是先用SVN後再用Git的,所以非常簡易樓主在學習使用Git的時候暫時把SVN那一套放一邊,專心研究Git中的相關概念。
    • 你看我上面的一段話,只說了Git而沒提Github,你知道為啥不?因為這兩個確實不是一回事,你先仔細去查Git到底是什麼。這問題搞不清以後就沒辦法玩了。
    • 樓主需要一點入門指引啊,給你推薦一篇我寫的入門指引,我會持續更新Git系列入門教學。

    最後祝您好運~

    回覆
    0
  • 滿天的星座

    滿天的星座2017-04-26 09:03:43

    你只需要 Github for Windows

    至於其他指令,可以慢慢來了解
    "Sync" 就這一鍵

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-26 09:03:43

    如果不會敲指令就別用 git 了。
    要用就好好用,安裝之前先了解下基本的資料結構和指令。

    回覆
    0
  • 取消回覆