新人向 將本地代碼提交到github,並且合併分支,各種坑都踩上

來源於網絡,整理如下..

首先進入到你的項目目錄下。

輸入 " git init "

 

 再輸入 " git add . ", 這個是將項目上所有的文件添加到倉庫中的意思,如果想添加某個特定的文件,只需把' . '換成這個特定的文件名即可。

 

接着輸入 " git commit -m "first commit ",表示你對這次提交的註釋,雙引號裏面的內容可以根據個人的需要改。例如 " git commit -m "第一次提交 " 。

輸入 "git remote add origin https://自己的倉庫url地址(上面有說到)"  將本地的倉庫關聯到github上,

 

最後一步,輸入 "git push -u origin master ",這是把代碼上傳到github倉庫的意思。

 

出現上面的情況,就說明你已經成功,你去來一盤遊戲後,上傳就完成了!!!!(上傳速度可能有點慢,要有耐心,大不了打多兩盤遊戲)。

 

 

 害怕你們是新手,下面附上網上大神整理的一些常見錯誤,方便你們查找!!!

轉載:http://blog.163.com/023_dns/blog/static/1187273662013111301046930/

github常見操作和常見錯誤!

如果輸入$ git remote add origin [email protected]:djqiang(github帳號名)/gitdemo(項目名).git 

    提示出錯信息:fatal: remote origin already exists.

    解決辦法如下:

    1、先輸入$ git remote rm origin

    2、再輸入$ git remote add origin [email protected]:djqiang/gitdemo.git 就不會報錯了!

    3、如果輸入$ git remote rm origin 還是報錯的話,error: Could not remove config section 'remote.origin'. 我們需要修改gitconfig文件的內容

    4、找到你的github的安裝路徑,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc

    5、找到一個名爲gitconfig的文件,打開它把裏面的[remote "origin"]那一行刪掉就好了!

 

 

    如果輸入$ ssh -T [email protected]
    出現錯誤提示:Permission denied (publickey).因爲新生成的key不能加入ssh就會導致連接不上github。

    解決辦法如下:

    1、先輸入$ ssh-agent,再輸入$ ssh-add ~/.ssh/id_key,這樣就可以了。

    2、如果還是不行的話,輸入ssh-add ~/.ssh/id_key 命令後出現報錯Could not open a connection to your authentication agent.解決方法是key用Git Gui的ssh工具生成,這樣生成的時候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行來做。

    3、最好檢查一下在你複製id_rsa.pub文件的內容時有沒有產生多餘的空格或空行,有些編輯器會幫你添加這些的。

 

 

    如果輸入$ git push origin master

    提示出錯信息:error:failed to push som refs to .......

    解決辦法如下:

    1、先輸入$ git pull origin master //先把遠程服務器github上面的文件拉下來

    2、再輸入$ git push origin master

    3、如果出現報錯 fatal: Couldn't find remote ref master或者fatal: 'origin' does not appear to be a git repository以及fatal: Could not read from remote repository.

    4、則需要重新輸入$ git remote add origin[email protected]:djqiang/gitdemo.git

 

 

    使用git在本地創建一個項目的過程

    $ makdir ~/hello-world    //創建一個項目hello-world
    $ cd ~/hello-world       //打開這個項目
    $ git init             //初始化 
    $ touch README
    $ git add README        //更新README文件
    $ git commit -m 'first commit'     //提交更新,並註釋信息“first commit”
    $ git remote add origin [email protected]:defnngj/hello-world.git     //連接遠程github項目  
    $ git push -u origin master     //將本地項目更新到github項目上去

 

   

    gitconfig配置文件

         Git有一個工具被稱爲git config,它允許你獲得和設置配置變量;這些變量可以控制Git的外觀和操作的各個方面。這些變量可以被存儲在三個不同的位置: 
         1./etc/gitconfig 文件:包含了適用於系統所有用戶和所有庫的值。如果你傳遞參數選項’--system’ 給 git config,它將明確的讀和寫這個文件。 
         2.~/.gitconfig 文件 :具體到你的用戶。你可以通過傳遞--global 選項使Git 讀或寫這個特定的文件。
         3.位於git目錄的config文件 (也就是 .git/config) :無論你當前在用的庫是什麼,特定指向該單一的庫。每個級別重寫前一個級別的值。因此,在.git/config中的值覆蓋了在/etc/gitconfig中的同一個值。
        在Windows系統中,Git在$HOME目錄中查找.gitconfig文件(對大多數人來說,位於C:\Documents and Settings\$USER下)。它也會查找/etc/gitconfig,儘管它是相對於Msys 根目錄的。這可能是你在Windows中運行安裝程序時決定安裝Git的任何地方。

 

        配置相關信息:

        2.1 當你安裝Git後首先要做的事情是設置你的用戶名稱和e-mail地址。這是非常重要的,因爲每次Git提交都會使用該信息。它被永遠的嵌入到了你的提交中:

  $ git config --global user.name "John Doe"

  $ git config --global user.email [email protected]

 

       2.2    你的編輯器(Your Editor)

  現在,你的標識已經設置,你可以配置你的缺省文本編輯器,Git在需要你輸入一些消息時會使用該文本編輯器。缺省情況下,Git使用你的系統的缺省編輯器,這通常可能是vi 或者 vim。如果你想使用一個不同的文本編輯器,例如Emacs,你可以做如下操作:

  $ git config --global core.editor emacs

 

      2.3 檢查你的設置(Checking Your Settings)

  如果你想檢查你的設置,你可以使用 git config --list 命令來列出Git可以在該處找到的所有的設置:

  $ git config --list

      你也可以查看Git認爲的一個特定的關鍵字目前的值,使用如下命令 git config {key}:

  $ git config user.name

 

      2.4 獲取幫助(Getting help)

  如果當你在使用Git時需要幫助,有三種方法可以獲得任何git命令的手冊頁(manpage)幫助信息:

  $ git help <verb>

  $ git <verb> --help

  $ man git-<verb>

  例如,你可以運行如下命令獲取對config命令的手冊頁幫助:

  $ git help config

 

引用

git pull 失敗 ,提示:fatal: refusing to merge unrelated histories

其實這個問題是因爲 兩個 根本不相干的 git 庫, 一個是本地庫, 一個是遠端庫, 然後本地要去推送到遠端, 遠端覺得這個本地庫跟自己不相干, 所以告知無法合併

具體的方法, 一個種方法: 是 從遠端庫拉下來代碼 , 本地要加入的代碼放到遠端庫下載到本地的庫, 然後提交上去 , 因爲這樣的話, 你基於的庫就是遠端的庫, 這是一次update

第二種方法:
使用這個強制的方法

git pull origin master --allow-unrelated-histories

後面加上 --allow-unrelated-histories , 把兩段不相干的 分支進行強行合併

後面再push就可以了 git push gitlab master:init

gitlab是別名 , 使用

Java代碼
git remote add gitlab ssh://[email protected]:50022/opt/gitrepo/withholdings/WithholdingTransaction

master是本地的branch名字
init是遠端要推送的branch名字

本地必須要先add ,commit完了 才能推上去

關於這個問題,可以參考http://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories。

在進行git pull 時,添加一個可選項

git pull origin master --allow-unrelated-histories

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章