git客戶端的安裝及使用


1、git提交全部文件的基本步驟:

  1)git status:查看修改內容

  2)git add XX :添加XX文件到暫存區,如果修改內容比較多,可以使用git add -A .來一次性添加所有文件(-A后來有個點.);git add .:表示添加新文件和修改的文件(不包括刪除的文件);git add -u:表示添加編輯和刪除的文件,不包括新增的文件。

  3)git commit -m '修改說明':提交修改內容,從暫存區提交到倉庫

  4)git push origin 分支名稱,如下面的git push origin master:和遠程倉庫同步

2、安裝客戶端

  去網站 https://git-scm.com/downloads 選擇自己需要的版本,下載安裝,我選的是windows版本

   

  下載完成后,開始安裝

  

  ------》Next

  

  Additional icons

    On the Desktop:添加到桌面圖標

  Windows Explorer integration:瀏覽源碼的方法,使用Bash或者使用Git GUI工具

  Git LFS:支持大文件

  Associate .git* configuration:是否關聯git配置文件,該配置文件主要顯示文本編輯器的樣式

  Associate .sh files to be tun wish Bash:關聯shell腳本文件,即是否關聯Bash命令執行的腳本文件

  ------》Next

  

  選擇編輯器

  ------》Next

  

  設置環境變量:選擇Git命令

  Use Git from Git Bash only:

    使用Git自帶的Git Bash命令行工具

  Git from the command line and also from 3rd-party software:

    使用windows系統的命令行工具

  Use Git and optional Unix tools from the command Prompt:

    二者都有,即上面兩者同時配置,但是注意,這樣會使得windows中的find.exe和sort.exe工具覆蓋

  如果不懂的話,盡量默認選擇

  ----》Next

  

  選擇提交時的換行格式:

    Checkout Windows-style, commit Unix-style line endings:將windows格式的換行轉換為Unix的換行再提交

    Checkout as-is, commit Unix-style line endings:不論什么格式,一律轉化為Unix格式換行提交

    Checkout as-is, commit as-is:不轉化,查出原來是什么就怎么提交

  ----》Next----》Next。。。知道安裝完成

 

3、設置用戶名和郵箱

  git config --global user.name "fionazhong"

  git config --global user.email "youremail@xx.com"

  

  注:git config --global 參數:有了這個參數,表示你這台機器上的所有的Git倉庫都會使用這個配置。當然也可以針對某個倉庫單獨指定不同的郵箱和用戶名

4、使用本地倉庫

  1)創建版本庫:

    版本庫(repository):簡單理解就是一個目錄,一個可以被git管理的目錄,目錄中所有的文件的增刪改都可以被git跟蹤管理,以便將來追溯或還原版本

    

    這時候,我的flask_api目錄下面就多了一個.git文件夾目錄,這個目錄是Git用來跟蹤管理版本的

    

  2)把文件添加到版本庫中

    在上面的flask_api目錄下面新建一個文件test.txt,並寫入內容1234567

    

    要把這個文件添加到版本庫中,有兩步:

      1)使用git add test.txt,將文件添加到暫存區里

      2)使用git commit -m "提交說明",將文件提交到倉庫

      

  3)查看修改內容:

    git diff test.txt

    如我修改flask_api下面的test.txt文件,新增一行7654321

    使用git status:可以查看做了什么操作

    使用git diff:可以查看和版本庫中的版本對比,有哪些不同

    

  4)版本回退

    我們繼續修改test.txt文件,增加一行內容 147258369

    然后我想要看一下,我對文件修改的歷史記錄,可以使用git log,如下,可以看到三次修改內容

    

    上面展示內容過多,我們希望展示的簡單一點,可以使用git log --pretty=oneline

    

    現在我想要把當前版本回退到上一個版本,需要怎么做呢?

    第一種方法:git reset --hard HEAD^,如果要回退到上上個版本呢?HEAD后面多加一個^,即git reset --hard HEAD^^

          估計不少人就要說了,那我要是要會退到前第100個版本呢?

    第二種方法:我們可以使用下面的命令:git reset --hard HEAD~100

    查看回退后的內容:cat test.txt

    

    如果我們又想要回退到最新的代碼,怎么做呢?可以使用 git reset --hard 版本號來回退

    所以我們要如何知道版本號呢?

    可以使用 git reflog

    

    最新的版本號是3db1691

    使用 git reset --hard 3db1691,即回退到了最新版

    然后我們再查看回退后的內容,看到,內容回來了。

    

  5)工作區和暫存區

    上面已經說過,通過git add 將文件添加到了暫存區,通過git commit實質就是講暫存區的所有內容提交到當前分支上。

    比如,我現在繼續修改我的文件test.txt,在里面添加 11111111 然后使用git add test.txt,然后在修改文件添加22222222,接下來使用git reset -- test.txt,再查看文件,發現后來添加的2222222沒有了。

    原因就是使用git add test.txt后,已經將修改的內容放在了暫存區,

    

    注意:上面的使用git checkout -- test.txt中 -- 很重要,如果沒有的話,那么命令就變成創建分支了。

  6)撤銷修改:

    方法1:使用上面的git checkout -- test.txt 可以丟棄工作區的內容

    方法2:如果知道哪些修改內容的話,我們可以手動的刪除掉,再add commit

    方法3:可以按照上面說的直接回退到上一個版本 git reset --hard^

  7)刪除及撤銷刪除文件

    在目錄下新建test1.txt,然后執行add及 commit命令,將文件添加到版本庫

      方法1:手動刪除文件,然后執行add 及commit

      方法2:rm test1.txt,然后執行add及commit

    要撤銷刪除,需要在未執行commit之前,可以執行git checkout -- test1.txt即可

5、使用遠程倉庫

  1)創建一個GitHub賬號

    https://github.com
   2)由於本地倉庫和GitHub倉庫之間是通過SSH加密傳輸的,因此需要設置ssh key

    先打開自己電腦的主目錄,看是否有id_rsa和id_rsa.pub兩個文件,如果沒有的話,在git客戶端命令行中輸入如下命令:

    ssh-keygen -t rsa -C "youremail@xx.com"

    

  --------》會生成如下兩個文件,id_rsa是私鑰,id_rsa.pub是公鑰

    

   3)將id_rsa.pub中的內容復制到GitHub中的ssh key中

    

    title可以任意命名,然后將id_rsa.pub中的內容復制到key中,點擊Add SSH key按鈕即可

  

 

   4)創建遠程倉庫

    

  5)本地倉庫和遠程倉庫同步:

    1)git init:將本地倉庫變成可git管理

    2)在本地倉庫運行如下命令:

      git remote add origin 你的遠程倉庫地址

      

    3)再運行git push -u origin master,將本地倉庫中當前分支的內容同步到遠程倉庫去

       由於遠程倉庫是空的,我們第一次推送master分支時,加上了-u參數,Git不但會把本地master分支的內容推送到遠程新的master分支,還會把本地master分支和遠程master分支關聯起來。

       以后再推送或者拉取的時候,可以簡化命令,推送成功過后,我們再去GitHub上面查看我們的分支,可以看到和我們本地一樣的內容了。

       

     后面如果我們本地做了修改,提交代碼后,只需要運行git push origin master,即可將本地最新修改同步到GitHub上的master分支上。

    

  6)從遠程分支上克隆代碼到本地

   我們在GitHub上面,新建一個倉庫testgit,並在里面新建一個文件test,輸入內容this is a test file

   

   然后在本地運行如下命令:

   git clone github地址

    

   然后再去我們的本地倉庫查看,發現我們成功的從遠程倉庫中克隆了代碼。

     

6、創建與合並分支

    創建新分支:git branch dev

    切換到新分支:git checkout dev

    創建並切換新分支:git checkout -b dev1

    查看當前所有分支:git branch,在當前分支的前面會加一個*號

    合並dev分支到master分支:git merge dev, git merge命令用於合並指定分支(dev)到當前分支上(master)

    刪除dev分支:git branch -d dev

7、解決沖突

    

 

8、bug分支

   在開發過程中遇到一個bug,但是我的分支上面還有任務沒有解決完成,這個時候,需要新建一個bug分支來解決bug,解決完成后合並到master分支,刪除bug臨時分支。

  1)將dev開發分支暫存:git stash

  2)切換到需要修復bug的分支,以master為例

  3)在master分支上創建一個臨時分支:git checkout -b bug_branch

  4)在bug_branch分支上修改完成后,切換回master分支,然后將bug_branch分支上的修改合並過來:git merge --no-ff -m "fix some bug" bug_branch

  5)刪除bug分支:git branch -d bug_branch

  6)切換回開發分支:git checkout dev

  7)查看前面暫存的內容:git stash list

  8)恢復之前暫存的內容:

    1) git stash apply:恢復后,stash內容並不刪除,需要我們運行git stash drop來手動刪除

    2) git stash pop:恢復的同時,刪除stash內容

9、Git常用命令:

  1)mkdir XX:創建一個名為XX的目錄

  2)pwd:顯示當前目錄的路徑

  3)git init:把當前目錄變成可以管理的git倉庫,生成隱藏的.git文件

  4)git add xx:把xx文件添加到暫存區

  5)git commit -m "提交說明":將暫存區的內容推送到git倉庫中

  6)git status:查看倉庫狀態

  7)git diff xx:查看xx文件修改了哪些內容

  8)git log:查看歷史記錄(Q退出)

  9)git reset --hard HEAD^ 或者git reset --hard HEAD~回退到上個版本

  10)cat XX:查看XX文件的內容

  11)git reflog:查看歷史記錄的版本號id

  12)git checkout -- xx:把xx文件在工作區的修改內容全部撤銷

  13)git rm xx:刪除xx文件

  14)git remote add origin git倉庫地址:關聯一個git遠程倉庫

  15)git push -u origin master:把當前master分支推送到遠程庫(第一次使用的時候,需要加上-u,后面不再需要-u)

  16)git clone git倉庫地址:從遠程倉庫中克隆

  17)git checkout -b dev:創建dev分支並切換到dev分支

  18)git checkout master:切換分支到master

  19)git branch:查看當前所有分支

  20)git branch name:創建名為name的分支

  21)git merge dev:在當前分支上合並dev

  22)git stash:把當前工作隱藏起來,等以后恢復現場后再繼續使用

  23)git stash list:查看隱藏的所有文件列表

  24)git stash apply:恢復隱藏的文件,但是隱藏的內容不刪除

  25)git stash drop:刪除隱藏文件

  26)git stash pop:恢復隱藏文件並刪除

  27)git remote:查看遠程庫的信息

  28)git remote -v:查看遠程庫的詳細信息

  29)git push origin master:git會把master分支推送到遠程倉庫對應的分支上

   

10、常見錯誤:

  

注:如果此時出現了如下錯誤:

  1)在使用git push -u origin master的時候,出現如下錯誤:

    ! [rejected] master -> master (non-fast-forward)

      

    原因是:遠程倉庫中存在本地不存在的文件

    解決方案:按照提示中的使用git pull... 將遠程的文件拉到本地倉庫中:

      git pull origin master --allow-unrelated-histories

      

      此時再使用git push origin master就可以成功了。

   2)如果出現以下錯誤:

    fatal: the remote end hung up unexpectedly

     

    錯誤出現的原因:一般是因為上傳的文件太大導致

    解決方案:我們可以通過修改允許上傳的文件大小來解決這個問題:

    在我們使用git init生成的.git 文件夾下的config文件中,添加下面2行即可:

   

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM