GIt&GitHub學習筆記

1.本地庫初始化

    命令:git init

    效果: 

     

      注意:.git目錄中存放的是本地庫相關的子目錄和文件,不要刪除,也不要胡亂修改。

2.設置簽名

    命令:  項目級別/倉庫級別:僅在當前本地庫範圍內有效

               git config user.name tom_pro

               git config user.email [email protected]

               信息保存位置:  ./.git/config 文件

               

              系統用戶級別: 登錄當前操作系統的用戶範圍

               git config --global user.name tom_glb

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

               信息保存位置: ~(家目錄)/.gitconfig 文件

                

              級別優先級:項目級別優先於系統用戶級別  

              二者都沒有不允許 

    3.基本操作:

        1)狀態查看操作: git status   查看工作區、暫存區狀態

        2)添加操作:git add [file name]   將工作區的”新建/修改“ 添加到暫存區

        3)提交操作: git commit -m "commit message" [file name] 將暫存區的內容提交到本地庫

        4)查看歷史記錄:git log       多屏顯示控制方式 : 空格向下翻頁  b  向上翻頁  q   退出

                                     git log --pretty=oneline/git log --oneline(只顯示過去)  簡潔顯示歷史記錄

                                     git reflog(過去未來都顯示)    HEAD@{移動到當前版本需要多少步} 

        5)前進後退: 基於索引值操作[推薦]   git reset --hard [局部索引值]

                              使用^符號: 只能後退

                              git reset --hard HEAD^

                              注:n個^表示後退n步

                              使用~符號:只能後退

                              git reset --hard HEAD~n

                              注: 表示後退n步

        6)reset命令的三個參數對比: 

             --soft參數:僅僅在本地庫移動HEAD指針

             --mixed參數:在本庫移動HEAD指針並且重置暫存區

             --hard參數: 在本地庫移動HEAD指針,重置暫存區和工作區

        7)刪除文件並找回

              前提:刪除前,文件存在時的狀態提交到了本地庫。

              操作:git reset -hard HEAD [指針位置]

                         刪除操作已經提交到本地庫:指針位置指向歷史記錄

                         刪除操作尚未提交到本地庫:指針位置使用HEAD

        8)比較文件差異

                  git diff [文件名]   將工作區中的文件和暫存區進行比較

                  git diff[本地庫中歷史版本] [文件名]  將工作區中的文件和本地庫歷史記錄比較

                  不帶文件名,比較多個文件   

    4.分支管理: 

            1)同時並行推進多個功能開發,提高開發效率

            2)各個分支在開發過程中,如果某一個分支開發失敗,不會對其他分支有任何影響。

                  失敗的分支刪除重新開始即可。 

            3)   創建分支: git branch [分支名] 

                  查看分支: git branch -v

                  切換分支:git checkout [分支名]

                  合併分支:   第一步:切換到接收修改的分支(被合併,增加新內容)上  git checkout[將要被合併分支名]                     

                                     第二步:執行merge命令   git merge [外來新內容分支名]

                  解決衝突: 第一步:編輯文件,刪除特殊符號

                                     第二步:把文件修改到滿意的程度,保存退出

                                     第三步:git add [文件名]

                                     第四步:git commit -m "日誌信息"

                                     注意:此時commit一定不能帶具體文件名   

      5.  GitHub操作:

                1)  查看當前所有遠程地址別名:git remote -v

                2)在本地創建遠程庫地址別名:git remote add [別名] [遠程地址]

                3)推送:git push [別名] [分支名]

                4)克隆:git clone [遠程地址]

                      效果:完整的把遠程庫下載到本地

                                 創建遠程庫地址別名

                                 初始化本地庫

                5)  拉取: pull=fetch+merge

                                 git fetch [遠程庫地址別名] [遠程分支名]

                                 git merge [遠程庫地址別名]/[遠程分支名]

                6)協同開發時衝突的解決:如果不是基於GitHub遠程庫的最新版所做的修改,不能推送,必須先拉取。

                                                            拉取下來後如果進入衝突狀態,則按照"分支衝突解決"操作解決即可。

                7)  跨團隊協作:本地修改,然後推送到遠程

                                          Pull Request

                                          New pull request

                                          Create pull request

                                          Merge pull request  點擊這裏合併代碼

                                          將遠程庫修改拉取到本地

                8)SSH免密登錄

                        進入到當前用戶的家目錄

                             cd ~

                        刪除.ssh 目錄   rm -rvf .ssh

                        生成ssh密鑰目錄  ssh-keygen -t rsa -C [郵箱地址]

                        進入.ssh目錄查看文件列表

                          cd .ssh

                        查看id_rsa.pub文件內容

                            cat id_rsa.pub

                        複製文件內容,登錄github,點擊用戶頭像-Settings-SSH and GPG keys

                        New SSH Key

                        輸入複製的密鑰信息

                        回到Git bash 創建遠程地址別名

                        git remote add origin_ssh [SSH克隆地址]  

                        推送文件進行測試 

      6.Eclipse 操作

           1)工程初始化爲本地庫   工程-右鍵-Team-Share Project

             勾選 Use or create......,然後Create Repository

           2)Eclipse中忽略文件

                 概念:Eclipse特定文件 這些都是eclispe爲了管理我們創建的工程而維護的文件,和開發的代碼沒有直接關係。

                            最好不要在Git中進行追蹤,也就是把它們忽略。

                            .classpath文件   .project文件  .settings目錄下所有文件    

                 爲什麼要忽略Eclipse特定文件呢?

                 因爲同一個團隊中很難保證大家使用相同的IDE工具,而IDE工具不同時,相關工程特定文件就可能不同。如果這些文件加入版本控制,那麼開發時很可能需要爲了這些文件解決衝突。

                 在~/.gitconfig文件中引入java.gitignore文件

                 [core]
                          excludesfile = C:/Users/DELL/java.gitignore

                 注意:這裏路徑一定要是/不能是\  

           3)克隆到本地並生成特定文件:import...-Git-Projects from Git    右鍵項目-configure-convert to maven project(生成有特定文件的eclipse工程)

 

 

                                

                       

                                 

   

                                                                          

            

                           

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