1. 程式人生 > >Git建立本地倉庫並同步到遠端

Git建立本地倉庫並同步到遠端

git是非常強大的版本管理工具。接下來的時間裡,我就和大家絮叨絮叨git的入門:如何在本地建立一個git倉庫,並把自己的原生代碼同步到遠端。此教程是在mac上操作的,如果您的系統是Linux,那麼操作方法相同;如果您的系統是windows,那麼,只需要把git的bash視窗調出來,以後的過程也都與Linux相同。
一、首先,您需要安裝git,此步就忽略了,自行安裝即可。

二、假設你目前還沒有建立一個工作目錄,那麼,先建立一個目錄吧,就叫StudyGit。

三、現在的StudyGit目錄還只是一個本地目錄,和git沒有任何關聯,那麼,我們怎麼樣才能把這個目錄和git關聯起來呢?只需要進入StudyGit目錄,執行如下命令:

[email protected]:~/Coding/Practice/StudyGit$ git init
Initialized empty Git repository in /Users/yanyaozhen/Coding/Practice/StudyGit/.git/

提示已經說明我們初始化了一個空的本地git倉庫。如果你檢視StudyGit下的所有檔案時,會發現一個.git 的隱藏檔案,這個檔案非常重要,版本的控制就靠它了。同時,如果你要部署應用程式到生產環境時,切記不要把該目錄部署到伺服器,因為這可是黑客的最愛啊!

四、接下來我們來看一個基本可以說是用的最頻繁的一個命令:

[email protected]
:~/Coding/Practice/StudyGit$ git status On branch master Initial commit nothing to commit (create/copy files and use "git add" to track)

沒錯,就是"git status"。這個命令用於檢視當前git的狀態,比如,上面的例子中,我們剛建立了一個空的git倉庫,那麼執行該指令時,git會提示我們,當前沒有任何東西要提交,同時提示我們,可以建立或者複製檔案後使用“git add”命令來跟蹤檔案的變化。

五、現在讓我們來建立一個檔案吧。我們建立一個叫“a.txt”的文字檔案,並且內容如下:

[email protected]:~/Coding/Practice/StudyGit$ cat a.txt
aaa

這個時候,讓我們再來執行下git status吧。執行如下:

[email protected]:~/Coding/Practice/StudyGit$ git status
On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    a.txt

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

這時會提示我們有一個未追蹤的檔案,叫a.txt。我們要把這個檔案加入到版本控制中,於是,我們執行如下命令:

git add a.txt

這個命令表示把我們指定的a.txt加入到git控制之下。add命令可以沒有引數(在windows下可以沒有引數,在mac下需要指定當前目錄即“.”),如果沒有引數,則表示把目錄下的所有檔案都加入到git倉庫中。這個時候,我們再執行下“git status”:

[email protected]:~/Coding/Practice/StudyGit$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   a.txt

提示我們有改變需要被提交。這個時候,a.txt這個檔案就存在於所謂的“暫存區”中,暫存區中的檔案可以被真正提交到git倉庫。有同學可能說,如果我不想提交這個檔案了,那怎麼把剛才的檔案從暫存區移除呢?其實答案就在剛才的提示中:
use "git rm --cached ..." to unstage。
那麼,我們執行下這個命令:

[email protected]:~/Coding/Practice/StudyGit$ git rm --cached a.txt
rm 'a.txt'

再執行git status時就可以發現,又回到檔案沒有被提交時的狀態了。

六、當我們的檔案已經通過“git add”加入到暫存區後,就可以把檔案真正提交到git倉庫了。如下:

[email protected]:~/Coding/Practice/StudyGit$ git commit -m "提交a.txt"

*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got '[email protected](none)')

阿歐,報錯了,檢視給出的錯誤原因,發現是因為沒有設定email和使用者名稱,所以git不讓我提交。git為什麼要強制要求設定了這兩個配置才能提交呢?因為git必須得知道是誰提交的,如果連誰提交的都不知道,那還怎麼做版本管理啊,是不。所以我們根據提示設定下:

[email protected]:~/Coding/Practice/StudyGit$ git config --global user.email "[email protected]"
[email protected]:~/Coding/Practice/StudyGit$ git config --global user.name "yourusername"
[email protected]:~/Coding/Practice/StudyGit$

好了,我們再提交下:

[email protected]:~/Coding/Practice/StudyGit$ git commit -m "提交a.txt"
[master (root-commit) dab07d0] 提交a.txt
 1 file changed, 1 insertion(+)
 create mode 100644 a.txt

發現已經可以提交成功了,提示一個檔案被修改(就是我們的a.txt),一行被插入(就是我們唯一的一行“aaa”)。
我們再執行下git status:

[email protected]:~/Coding/Practice/StudyGit$ git status
On branch master
nothing to commit, working directory clean

提示我們當前沒有東西要提交,當前工作目錄是乾淨的,因為我們都提交到git了。
好了,到這步後,git就可以完全跟蹤已經被提交的檔案了,以後,這個檔案的任何修改,它都可以記錄下來。比如某個人對專案私自修改了一些東西,專案管理者根據git的版本記錄是一定可以找到是誰修改了哪些檔案的。
現在我們就可以把檔案提交到遠端伺服器了。

七、當我們要提交git倉庫中的內容到遠端伺服器時,我們必須得先成為遠端伺服器受信任的使用者才行(伺服器當然不允許所有人都可以推送內容,那樣就亂套了)。這個時候,我們需要先在本地生成一個公鑰,然後把公鑰放到遠端伺服器的賬戶列表中。生成公鑰的命令如下:

ssh-keygen -t rsa -C "[email protected]"

如果你是windows使用者,那麼公鑰生成的目錄是C:\Users\使用者名稱.ssh下,裡面有兩個檔案 id_rsa 和 id_rsa.pub ,其中id_rsa.pub中的內容就是我們需要的公鑰。如果你是Linux或者mac使用者,那麼在使用者主目錄下也會有一個.ssh目錄,裡面放著的是私鑰和公鑰。假設我們現在要把github作為遠端推送伺服器地址,那麼,我們首先把公鑰放在github的settings->SSH keys列表中(點選新建一個ssh key,title隨意,把公鑰的全部內容複製進行儲存即可)。

八、現在我們可以給StudyGit專案在github上新增一個遠端倉庫了。在github上add new repository,名字我在這裡也用StudyGit了(起其他名字也可以),建好後顯示如下:
螢幕快照 2015-11-17 下午11.00.11.png
可以看到有一個ssh地址是[email protected]:onlyanyz/StudyGit.git,這個就是我們的遠端git倉庫地址了,一會我們就會把檔案推送到這裡。
接下來,我們需要把本地git倉庫關聯到遠端git倉庫,操作如下:進入本地StudyGit根目錄,執行如下命令:

git remote add origin [email protected]:onlyanyz/StudyGit.git

這個命令的意思是,我給遠端倉庫(就是[email protected]:onlyanyz/StudyGit.git)起了個別名,叫origin(其實叫別的名字也可以,你只要知道這是別名就行,以後就用別名來操作遠端庫)。操作後,我們可以使用“git remote”命令來檢視當前本地倉庫關聯了哪些遠端倉庫(它會列出每個遠端庫的簡短名字。如果您之前會使用git clone命令的話,在克隆完某個專案後,至少可以看到一個名為 origin 的遠端庫,Git預設使用這個名字來標識你所克隆的原始倉庫)。

九、關聯了遠端倉庫之後,我們就可以推送了。將本地倉庫push到遠端倉庫的命令如下:

git push origin master

命令解釋如下:
git push的語法為:git push <遠端主機名> <本地分支名>:<遠端分支名>
該語法表示把本地分支名push到遠端主機名的遠端分支。我們可以看到剛才執行的語句並沒有遠端分支名(被省略了),如果省略遠端分支名,則表示將本地分支推送到與之存在”追蹤關係”的遠端分支(通常兩者同名),如果該遠端分支不存在,則會被新建。所以剛才執行的語句的意思是,把本地的master分支推送到遠端主機的master分支。
關於git push命令以後還需要注意的地方:
a.如果省略本地分支名,則表示刪除指定的遠端分支,因為這等同於推送一個空的本地分支到遠端分支。例如:

$ git push origin :master

該命令等同於如下指令:$ git push origin --delete master,表示刪除遠端主機的master分支。
b.git push 有時候本地分支和遠端分支名都可以省略,有時候連主機名也可以省略,這個現在就不細說了。
c.如果當前分支與多個主機存在追蹤關係,則可以使用-u選項指定一個預設主機,這樣後面就可以不加任何引數使用git push:

$ git push -u origin master

好了,現在我們已經把StudyGit目錄中的內容都推送到遠端了,現在執行git status看下:

~/Coding/Practice/StudyGit$ git status
On branch master
nothing to commit, working directory clean

工作目錄還是乾淨的,接下來您就可以繼續在本地進行建立檔案->提交到暫存區->提交到本地倉庫->push到遠端倉庫的過程啦!

相關推薦

Git建立本地倉庫同步遠端

git是非常強大的版本管理工具。接下來的時間裡,我就和大家絮叨絮叨git的入門:如何在本地建立一個git倉庫,並把自己的原生代碼同步到遠端。此教程是在mac上操作的,如果您的系統是Linux,那麼操作方法相同;如果您的系統是windows,那麼,只需要把git的bash視

Git建立本地倉庫遠端倉庫建立連線

git init # 初始化本地倉庫 git add ./ # 將檔案新增到待提交區域 git commit -m “提交資訊” # 提交 使用GitHub建立倉庫(new Repos

git快速入門之一:建立本地倉庫同步遠端

git是非常強大的版本管理工具。接下來的時間裡,我就和大家絮叨絮叨git的入門:如何在本地建立一個git倉庫,並把自己的原生代碼同步到遠端。此教程是在mac上操作的,如果您的系統是Linux,那麼操作方法相同;如果您的系統是windows,那麼,只需要把git的bash視

Git學習第(二)篇:Git建立本地倉庫與GitHub遠端倉庫關聯

本文基於Windows系統進行相關的配置。 1、建立本地Git倉庫 上一篇文章Git學習第(一)篇:Git下載與安裝中已經介紹了Git下載和安裝的方法,並按照裡面的步驟完成了安裝,接下來需要建立本地倉庫 第一步,找到需要建立Git倉庫的專案資料夾,比如我的專案為html5,

Git建立本地分支關聯遠端分支(二)

建立本地分支git branch 分支名 例如:git branch dev,這條命令是基於當前分支建立的本地分支,假設當前分支是master(遠端分支),則是基於master分支建立的本地分支dev。 切換到本地分支git checkout 分支名 例如:git checkout dev,這條命令表示

Git —— 建立GitHub倉庫新增遠端

目的:在計算機建立本地倉庫,在GitHub建立一個Git倉庫,並讓這兩個倉庫進行遠端同步 作用:GitHub上的倉庫既可以作為備份,又可以讓其他人通過該倉庫來協作 建立GitHub倉庫 1、選擇New repository 2、填寫GitHu

Git建立本地倉庫上傳到Gitee

電腦安裝git客戶端、註冊github賬號並登陸 到本地專案資料夾右鍵選擇git bash here 輸入個人資訊(程式碼提交者) git config --global user.name "xxxx"  git config --global user.ema

git建立本地倉庫上傳程式碼到gitHub 及常見問題解決(更新)

一、對於新建repository: 本地專案資料夾 git bash here; git init 並複製專案程式碼到本地倉庫; git add . git commit -m“first” 連線程式碼至GitHub:在GitHub新建repositor

Linux下使用git命令建立github倉庫同步遠端

配置git資訊 git config --global user.name 'your name' # 配置名字資訊,例如,你的github使用者名稱 git config --global user.

【TortoiseGit】建立本地倉庫上傳至遠端倉庫

今天早上弄了一早上,老是失敗 ,所以這裡把踩過的坑記錄下來,以後也可以看看。 一. 新建遠端倉庫 在網頁端Github建立遠端倉庫。 <1>

git建立本地倉庫並且上傳到github

1. 在GitHub上建立專案 登入GitHub後,你可以在右邊靠中那裡找到一個按鈕“New Repository”,點選過後,填入專案名稱、說明和網址過後就可以建立了,然後會出現一個提示頁面,記下類似[email protected]:XXX/XXX.gi

Git 建立本地倉庫

前面已經搭好環境了,現在我們缺的是一個管理版本控制的倉庫。這次的實驗是在電腦本地建立本地倉庫。 指定路徑 預設的位置是在你所安裝Git的目錄下。Git的倉庫你可以建在你電腦的任何目錄下(最好不要

使用git初始化本地倉庫提交到遠端分支

1. 初始化本地倉庫 git init 2. 將本地內容新增至git索引中 git add . 3. 將索引新增至本地倉庫中 git commit -m "first commit" 4. 新增遠端倉庫路徑 git remote add origin http

建立GitHub倉庫本地Git繫結及GitLab的使用場景

由於工作要使用GitLab,這裡總結並實際操作使用一下Git。 大家都知道,Git是Linux支之父Linus Torvalds編寫的一個版本控制軟體。目前我們接觸的與Git有關係的有三種,分別是Git、GitHub以及GitLab。分別簡單介紹一下這三個東西:(1)Git 就是最原始的分散式版本控

使用git建立本地分支然後提交到遠端分支,最後提交合申請的流程

* git 使用的正確方式就是如標題所示,一般不會直接將程式碼提交到master分支 下面簡單描述下使用git bash 命令列的方式來操作 //從git clone 專案到本地 git clone url // 查一下git庫的狀態 git status //查一下

建立GitHub倉庫本地Git繫結

由於工作要使用GitLab,這裡總結並實際操作使用一下Git。 大家都知道,Git是Linux支之父Linus Torvalds編寫的一個版本控制軟體。目前我們接觸的與Git有關係的有三種,分別是Git、GitHub以及GitLab。分別簡單介紹一下這三個東西:(1)Git

git建立本地遠端分支的同步與合併

將新建的本地分支關聯到遠端分支(push 即可,push之後才可以pull) $ git push origin branch_dev:branch_dev branch_dev:branch_dev 是不是有點迷? 第一個其實是本地分支的名,冒號後面是要建立的遠端分支名,自己另起名稱隨便 而且如果直接使

如何建立/修改遠端倉庫 + 如何刪除遠端倉庫 + 如何刪除遠端倉庫中的某個檔案或資料夾 + 如何使用git本地倉庫連線到多個遠端倉庫

首先我們來區分一些概念、術語、名詞。不然腦子一鍋粥,總是暈!!!博主對此深有體會!從中學到了沒事要多總結、多歸類! 倉庫有本地倉庫和遠端倉庫之分。倉庫都可以叫做服務端(器)。本地倉庫有:Windows、Linux、MacOS。(指的是執行在不同系統下的本地倉庫)遠端倉庫有:GiuHub(國外)、Gi

通過Android studio使用git建立本地分支提交遠端倉庫以及如何檢視切換分支

            我們有時候對命令不熟悉的同學例如我,那麼這個AS自帶的這個建立分支功能就對我們必不可少了。 首先我們看下遠端倉庫只有主支master,沒有任何分支的資訊如下圖: 1.首先我們開啟AS,點選右下角的git會彈出選單:如下(右下角預設顯示的事g

使用git本地倉庫同步到github遠程倉庫

master 本地倉庫 使用 github倉庫 倉庫 意思 右鍵 allow -h 一、下載安裝git客戶端windows版本 二、建立本地倉庫文件夾 三、在本地倉庫裏右鍵點擊Git Bash Here 四、初始化本地倉庫 【git init】 執行之後倉庫中會創建隱藏的文