設定名稱和郵箱
$ git config --global user.name "username"
$ git config --global user.email "email"
git config --list 查看配置
git總共分為這么幾個區域:
作業區:也就是我們本地
git暫存區: 此時還沒有提交到git倉庫
git倉庫: 此時是已經提交到git倉庫了.
提交到git倉庫的檔案,接下來就是提交遠程了,
---------------------------------------------
查看:
可以通過git status來查看檔案狀態
------
添加
-----------------------------------------
添加檔案到暫存區
git add 檔案
將暫存區的檔案提交到倉庫
git commit -m '描述'
------
修改
--------------------------------------
修改:
那么已經添加到倉庫的檔案我們需要修改的化,我們是需要重新提交暫存區,再提交倉庫
如果是添加到暫存區的檔案需要修改的化,我們修改檔案后,直接add就可以了,因為之前還沒有提交過
-----
洗掉暫存區檔案
----------------------------
如果我們的檔案是只提交了暫存區,沒有提交到倉庫:
1.保留我們作業區的檔案,也就是本地的(推薦使用這種)
git rm --cached 檔案 (強調,這是洗掉暫存區的)不洗掉本地作業區的
如果直接洗掉本地檔案的話,暫存檔案還是會存在的,因為我們洗掉的只是本地的作業區的檔案而已
----
洗掉倉庫檔案
--------------------------
git rm 檔案
git commit -m '洗掉倉庫檔案'
這種洗掉會洗掉作業區和倉庫的檔案,并且暫存區的檔案也會被洗掉,沒有了
注意:修改倉庫的資料一定要提交,
而且洗掉倉庫的檔案時,必須是需要和本地作業空間的檔案版本相同,
也就是說一定是要最新的版本才會洗掉成功:
不管只是在作業區修改了,還是修改后添加到暫存區了,最后都要提交到倉庫,這個檔案才能洗掉
-----
作業區檔案恢復----來自暫存區
--------------------------
檔案恢復,如果作業區的檔案不小心被洗掉了,我們可以通過暫存區來恢復,
不管是洗掉了還是修改了,都可以還原
注意:檔案的恢復是來自暫存區,不是倉庫
git checkout -- 檔案名稱
版本回滾:
git reset: 回滾到某次提交
首先我們需要看提交記錄 :
git log
每一次提交的記錄上面都有一個提交的id ,這個id是我們需要的,
git reset --soft:此次提交之后的修改會被退回到暫存區,
說明:
也就是說會退到這個指定的版本的提交之前,存在暫存區的時候
git reset --hard:此次提交之后的修改不做任何保留,git status 查看作業區是沒有記錄的,
說明:
暫存區沒有這個版本,回退到這個版本還沒有修改的時候,
然后回退版本后,我們在推至遠程,當然,如果壓根就沒有使用遠程倉庫的話就不需要這一步:
git push origin HEAD --force 強制推至遠程倉庫,
誤刪恢復
如果回滾代碼之后發現復制錯了 commit_id,或者誤刪了某次 commit 記錄
git relog // 復制要恢復操作的前面的 hash 值
git reset --hard hash // 將 hash 換成要恢復的歷史記錄的 hash 值
注意:
洗掉中間某次提交時最好不要用 git reset 回退遠程庫,
因為之后其他人提交代碼時用 git pull 也會把自己的本地倉庫回退到之前的版本,容易出現差錯進而增加不必要的作業量,
分支
創建分支
git branch 分支名稱
切換分支
git checkout 分支名稱
分支提交到遠程
git push origin 本地分支名稱:遠程分支名稱 (一般都是寫成一樣的名字)
分支提交到遠程后代碼就已經同步復制了
此時,就本地和遠程都有新的分支了
查看分支 git branch
-----------------------------------------
那么分支代碼怎么提交遠程呢?
git push origin 當前分支名字 (除了主分支都需要攜帶當前的分支名稱)
注意:當前分支內的修改不能提交到其他的分支,也就是寫了其他分支的名稱也不會提交遠程成功,
單獨拉去某個分支的代碼
git clone -b 分支名稱 git地址
-b表示分支的意思
但是這種單獨拉取分支的方式下,修改代碼后,提交代碼是不需要去指定分支名稱的,
因為我們這里只有這一個分支,
git協議:ssh
上面我使用的https的方式去和github打交道,:
這種方式就是每一次push都需要輸入賬號密碼,郵箱很不方便
所以我們可以使用ssh(密鑰的方式來進行互動)
----------------------------------------------------
進入該目錄:
cd ~/.ssh
ls
id_rsa id_rsa.pub
私鑰 公鑰
如果沒有我們就需要生產:
首先我們需要在本地生產密鑰:
clip < ~/.ssh/id_rsa.pub #最好手動輸入,復制容易出問題
然后將 id_rsa.pub 公鑰復制到github上

將公鑰復制在這里就可以了
這些做好后,通過這個命令來測驗一下:
ssh -T git@github.com
看回傳的內容來判斷是否密鑰可用
我們還要來判斷git是否可以是要ssh:
git remote -v 來查看

這樣的表示是支持ssh
不支持的話我們需要添加:
git remote add origin git@github.com:gww-git/Repository.git
然后我們再來拉取代碼,主要,是要ssh的地址才可以
拉取代碼的方式都一樣的命令,只不過地址變了
git clone xxxxxx
這樣就不需要每次push都輸入賬號和密碼了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297675.html
標籤:其他
上一篇:Pytorch與深度學習 —— 8. 什么是回圈神經網路(Recurrent Neural Network)
下一篇:istio組件介紹
