顯示具有 GIT 標籤的文章。 顯示所有文章
顯示具有 GIT 標籤的文章。 顯示所有文章

2019年1月1日 星期二

[Git筆記-4]如何將 repository 做本機和遠端的連結

如何將 repository 做本機和遠端的連結
1.請先在GitHub建主帳號,並且建立好遠端的repository,本文不說明這段,若有興趣的朋友可以參考這個連結git的初始設定
2.讓local端的repository知道remote端的位置,指令如下。
$ git remote add origin <remote 網址>

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git remote add origin https://github.com/millerhome/Hello-test.git            

3.接者準備將本地端程式 push 到遠端檔案庫:
$ git push -u origin master

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git push -u origin master                                                     
Enumerating objects: 6, done.                                                   
Counting objects: 100% (6/6), done.                                             
Delta compression using up to 8 threads                                         
Compressing objects: 100% (2/2), done.                                          
Writing objects: 100% (6/6), 525 bytes | 525.00 KiB/s, done.                    
Total 6 (delta 0), reused 0 (delta 0)                                           
To https://github.com/millerhome/Hello-test.git                                 
 * [new branch]      master -> master                                           
Branch 'master' set up to track remote branch 'master' from 'origin'.           
                                                                                

參數 -u 等同於 --set-upstream,設定 upstream 可以使分支開始追蹤指定的遠端分支。事實上,只要做過一次 $ git push -u <remote name> <branch name>,並且成功 push 出去;本機端的 master 就會被設定去追蹤遠端的 <remote name>/<branch name> 分支。只要成功設定好 upstream 後,第二次以後要上傳分支時,就只需要透過 git push 就可以了,不必再帶 <remote name> <branch name> 等參數。例如:$ git push
事實上,$ git push -u origin master 可以拆解成:

  1. $ git push origin master
  2. $ git checkout master
  3. $ git branch -u origin/master

查看GitHub帳號,就可以看看是否有執行成功。

查看GitHub就可以看到已Push上去的檔案

[Git筆記-3]git學習,commit後想取消要如何作

若是想反悔不想把檔案加入追蹤呢?
// 檔案尚未加入過追蹤時使用,即可恢復到檔案尚未加入暫存區
$ git rm --cached Test.txt
// 若檔案已經在 repository 內,則使用以下指令
// repository 與 stage 的檔案都會被還原到 HEAD,但 working directory 內的檔案不變
$ git reset HARD
若有檔案修改,記得要再 add 修改的檔案(這是新手比較容易忘記的部分),1.若是要放棄修改可以使用 git checkout -- 檔案名稱

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git checkout -- Test.txt                                                      
                                                                                

2.若檔案已經在 repository 內,則使用以下指令

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git reset HEAD Test.txt                                                       
Unstaged changes after reset:                                                   
M       Test.txt                                                                
                                                                                
3.利用git status檢查修改後的檔案。

$ git status                                                                    
                                           
                                                                                
Changes not staged for commit:                                                  
  (use "git add ..." to update what will be committed)                    
  (use "git checkout -- ..." to discard changes in working directory)     
                                                                                
        modified:   Test.txt                                                    



2018年12月31日 星期一

[Git筆記-2]建立一個新檔案,將那些檔案修改提交 commit 到 Git 中

一、在repository 檔案庫中建立一個新檔案(Test.txt),新增一些內容到該檔案並且將那些檔案修改提交 commit 到 Git 中

1.新增一個檔案Test.txt

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ ll                                                                            
total 1                                                                         
-rw-r--r-- 1 miller 197609 12 一月    1 15:27 Test.txt                          

2.利用git status來檢查hello-test狀態,會發現因為我們有新增新的檔案(Test.txt),但是還沒進到 git 追蹤範圍中/暫存區。

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git status                                                                    
On branch master                                                                
                                                                                
No commits yet                                                                  
                                                                                
Untracked files:                                                                
  (use "git add ..." to include in what will be committed)                
                                                                                
        Test.txt                                                                
                                                                                
nothing added to commit but untracked files present (use "git add" to track)    
                                                                                
3.所以我們要使用 git add Test.txt 加入追蹤,這樣之後檔案有修改就可以追蹤到。

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git add Test.txt                                                              
4.再利用git status來檢查狀態,若沒問題就可以準備commit 至repository。

$ git status                                                                    
On branch master                                                                
                                                                                
No commits yet                                                                  
                                                                                
Changes to be committed:                                                        
  (use "git rm --cached ..." to unstage)                                  
                                                                                
        new file:   Test.txt                                                    
5.利用git commt簽入,-m是加入簽入說明。

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git commit -m "新增檔案第一次簽入"                                            
[master (root-commit) 37a839c] 新增檔案第一次簽入                               
 1 file changed, 1 insertion(+)                                                 
 create mode 100644 Test.txt                                                    
6.再利用git status檢查狀態會發現,已沒有待commit的檔案。

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git status                                                                    
On branch master                                                                
nothing to commit, working tree clean                                           
7.修改後檔案需要重新add後再commit如下圖兩步驟,也可以簡寫成git commit -a -m "修改了Test.txt"

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git add Test.txt                                                              

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ git commit -m "修改了Test.txt"                                                
[master 78ffdf8] 修改了Test.txt                                                 
 1 file changed, 2 insertions(+), 1 deletion(-)                                 

[Git筆記-1] Git教學影片-建立git帳號,並且新增設定工作目錄

Github 則是一個支援 git 程式碼存取和遠端托管的平台服務,有許多的開放原始碼的專案都是使用 Github 進行程式碼的管理。
Git 是一個分散式版本控制軟體
Git教學影片 

寫給大家的 Git 教學 from littlebtc


Git 基本觀念


Git 可以分為 Local(本地)和 Remote(遠端)兩個環境,由於 Git 屬於分散式的版本控制系統,所以開發者可以在離線 local 環境下開發,等到有網路時再將自己的程式推到 Remote 環境或 pull 下其他開發者程式碼進行整合。在 Local 中我們又分為 working directory(工作資料夾)、staging area(暫存區)和 repositories(檔案庫)。

實機操作
miller@miller-dell MINGW64 ~                                                    
$ mkdir hello-test                                                              
                                                                                
miller@miller-dell MINGW64 ~                                                    
$ cd hello-test                                                                 
                                                                                
miller@miller-dell MINGW64 ~/hello-test                                         
$ git init                                                                      
Initialized empty Git repository in C:/Users/miller/hello-test/.git/            
                                                                                
miller@miller-dell MINGW64 ~/hello-test (master)                                
1.mkdir 建立存放程式的資料夾(hello-test)
2.cd hello-test (切換至hello-test資料夾)
3.git init (將專案資料夾建立成 git repository)
4.git init之後多出git資夾,git資料夾內會多出列圖中的檔案及目錄。

miller@miller-dell MINGW64 ~/hello-test (master)                                
$ ls .git/                                                                      
config  description  HEAD  hooks/  info/  objects/  refs/                       
git init之後多出git資夾,git資料夾內會多出列圖中的檔案及目錄