項目用Git上傳到coding

關於這樣的東西,網上不少教程,這裏就結合本身看的還有本身的例子來講明一下吧:html

 

1.你得下載一個git軟件併成功安裝linux

 

2.生成ssh:git

關於這個,我以爲彷佛不是必定的,由於經過https也能夠鏈接到coding的遠程倉庫,可是用ssh可讓你在之後的push都不用輸入密碼。github

(還有種輸入密碼的方式):vim

 而後coding官網講這個ssh的講得仍是蠻詳細的,配的時候能夠在這裏看:https://coding.net/help/doc/account/ssh-key.html(這篇博客講得不錯)windows

這裏就大概講一下過程:緩存

  生成公鑰:打開命令行終端輸入 ssh-keygen -t rsa -C "your_email@example.com"( 你的郵箱),連續點擊 Enter 鍵便可。bash

  複製公鑰,用文本編輯器打開『id_rsa.pub』文件,複製所有內容。這個id_rsa.pub你在git的命令行那生成後就會告訴你路徑,windows的話通常在用戶的.ssh文件夾裏面,還有一個id_rsa是密鑰服務器

  在coding中添加公鑰:這裏就不講了,官網有很詳細的介紹ssh

 

3.建立本地倉庫:

這裏先要來介紹一下git的一些知識  (https://blog.csdn.net/qq_22337877/article/details/73249912)

簡單的來講,電腦中能看到目錄的地方,就是一個工做區,而後工做區中有個隱藏目錄.git,這個其實不算工做區,而是git的版本庫。

git的版本庫裏面有不少東西,其中較爲重要的是stage或者叫index,就是緩存區。還有git爲咱們自動建立的第一個分支master,以及指向master的第一個指針叫作head

 

 

咱們如今就是要創建咱們的本地倉庫,通常能夠是你的工做目錄。

在你的項目文件夾下面,鼠標右鍵而後git bash here,而後就可使用git的命令行來進行操做了

要創建本地倉庫,要用到的命令是   git init   而後這個時候的效果就是,你的項目文件夾目錄下有了個.git後綴的文件。也就是說在你的工做區中如今有了個git的版本庫了。

 

4.在coding上創建遠程倉庫並與之創建聯繫:

首先是在coding上創建你的倉庫,這裏創建一個空的倉庫就行了。

若是你以前有在coding或者其餘代碼管理平臺clone過代碼,那麼這裏就已經與遠程倉庫創建起了聯繫。

而後這裏,若是沒有clone,那麼這裏就要用命令:

git remote add origin <server>

而後就關聯上了遠程倉庫了。 添加後的遠程倉庫,咱們叫origin

 

5.commit代碼到本地分支head所指的master去:

由於咱們的push操做(更新推送到遠程倉庫)是把本地倉庫的分支push上去,因此咱們先要把更新內容commit到本地分支。

先用命令add fileName  或者 add .   注意第二個命令有個「.」,是把本地全部新增的文件還有變化的文件都提交到緩存區stage,但好像不包括刪除的文件。

 

 

這裏第一次用這個命令的時候遇到了點問題,百度知道,windows中的換行符爲 CRLF, 而在linux下的換行符爲LF

這個問題是由於Git的換行符檢查功能的,core.safe crlf  ,這是可讓git在你提交文件的時候檢查文件是否混用了不一樣風格的換行符,這個功能提供了以下選項:

  • false - 不作任何檢查
  • warn - 在提交時檢查並警告
  • true - 在提交時檢查,若是發現混用則拒絕提交

這個是設置換行符檢查功能的,建議用true

git有三種模式去對付換行符結尾:

$ git config core.autocrlf
# that command will print "true" or "false" or "input"

 

#提交時轉換爲LF,檢出時轉換爲CRLF
git config --global core.autocrlf true       If core.autocrlf is set to true, that means that any time you add a file to the git repo that git thinks is a text file, it will turn all CRLF line endings to just LF before it stores it in the commit. Whenever you git checkout something, all text files automatically will have their LF line endings converted to CRLF endings.

#提交時轉換爲LF,檢出時不轉換
git config --global core.autocrlf input

#提交檢出均不轉換
git config --global core.autocrlf false       If core.autocrlf is set to false, no line-ending conversion is ever performed, so text files are checked in as-is. This usually works ok, as long as all your developers are either on Linux or all on Windows.

 

因此這裏咱們就暫時把這個autocrlf改爲false,問題解決hhh

 

add以後能夠經過 git status來查看 緩存的信息,這裏查看的其實就是有沒能夠commit到本地分支的內容

 

而後下一步就是用命令                git commit -m "代碼提交信息"

這一步是實際提交更改到本地倉庫的分支中,也就是head中。

而後就出現了這個提示,tell me who you are    這是由於你在建立git版本庫的時候信息不完整引發的,這裏你就按照它的要求設好global的username和email就好。(其實這一步應該在git init建立git版本庫就要乾了)

 

而後就能正常 地commit了

 

 

6.push代碼到遠程倉庫:

這一步就是把咱們的本地分支masterpush到遠程倉庫上。   用到的命令是:git push origin master     $ git push <遠程主機名> <本地分支名>:<遠程分支名>

這裏有個問題,就是剛剛在coding新建repository的時候選了生成README.md,這就意味着遠程倉庫是非空的,而後就會出現一些問題,這裏咱們慢慢走一下過程

  先是直接push:  

  哦這裏提一下,第一次用ssh地址進行clone或者push操做的時候,會有這個ssh確認的警告,這是由於Git使用SSH鏈接,而SSH鏈接在第一次驗證GitHub服務器的Key時,須要你確認GitHub的Key的指紋信息是否真的來自Git的服務器,輸入yes回車便可。

  Git會輸出一個警告,告訴你已經把GitHub的Key添加到本機的一個信任列表裏了:
    Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
  這個警告只會出現一次,後面的操做就不會有任何警告了。

 

  而後就看到它報錯什麼Update were rejected 由於遠程倉庫有你本地沒有的東西,嗯就是我上面說的README.md應該,而後下面也提示了若是是第一次想一體化倉庫,那麼就要先pull,

  pull:   這裏有個注意的是,你pull一回車,就進入了個vim的編輯狀態,而後這個時候有兩個命令能夠作,

  而後再執行push命令就能夠了

  

 

 

最後總結一下幾個 比較經常使用的命令:

git init //版本庫初始化,新建版本庫
git status  //查看能夠commit到本地分支master也就是head的更新
git add .   //添加全部更新的內容到緩存區stage
rm-rf .git//直接刪除這個版本庫
git remote add origin <server>  //與遠程服務器的倉庫創建鏈接
git commit -m "代碼提交信息"   //提交stage中的更改到本地分支
git push origin master  //將本地的master分支提交到遠程倉庫,origin是遠程鏈接倉庫的名字
git pull origin master  //將origin庫的東西下拉到本地的master分支上

 補充幾個add命令:

1.  git add -A   保存全部的修改

2.  git add .     保存新的添加和修改,可是不包括刪除

3.  git add -u   保存修改和刪除,可是不包括新建文件。

 

 

還有總結一下幾個參考的博客:

https://blog.csdn.net/qq_22337877/article/details/73249912  ——講git工做去緩存區的知識

http://www.runoob.com/manual/git-guide/   ——講git的一些簡單命令還有簡單使用介紹,界面挺好看hhh

https://coding.net/help/doc/account/ssh-key.html——講關於ssh公鑰的配置問題

相關文章
相關標籤/搜索