国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Git】3.git常用命令(結(jié)合提交/拉取代碼)

這篇具有很好參考價值的文章主要介紹了【Git】3.git常用命令(結(jié)合提交/拉取代碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言:

? ? ? ? 跟git交互有好多場景,比如第一次推送代碼;第一次拉取git上已有的項目;修改代碼推送解決沖突;代碼提交錯誤會滾等。接下來就結(jié)合場景來學(xué)習(xí)git命令吧~

目錄:
? ? ? ? 前提:

? ? ? ? ? ? ? ? 在下列場景操作時的前提是需要先配置好git全局用戶名和郵箱,在git上配置SSH 公鑰實現(xiàn)免密登錄。具體配置已在文檔里面第2,3點闡述:【Git】第一次推送代碼到gitLab-CSDN博客

????????????????????????????????????????????????????????????????正常場景如下:
場景一:目前在Git上沒有項目,第一次推送項目

??????【Git】第一次推送代碼到gitLab-CSDN博客

場景二: Git上有項目,本地?zé)o該項目需要克隆項目并自動生成一個本地倉庫
步驟1: 想要將項目放在桌面Desktop

        cd ~/Desktop

步驟2: 克隆項目到桌面

        git clone <此處為項目的SSH地址>
場景三:修改代碼并推送
前提:切換到master分支先拉取最新代碼 
    git pull origin master

一般不直接在master分支上改代碼,需要額外創(chuàng)建自己的本地分支

步驟1: 克隆項目打開后,會默認(rèn)在本地master分支上。先查看本地所有分支,其中分支為綠色且跟*代表當(dāng)前所在分支

        git branch


步驟2:需要創(chuàng)建新分支ha并切換

        方式一: 創(chuàng)建并切換到新分支  git checkout -b ha
        
        方式二: 先創(chuàng)建新分支  git branch ha
                后切換分支   git checkout ha
步驟3:在新分支ha上修改代碼進(jìn)行推送
 

    #將工作區(qū)所有改動的文件添加到暫存區(qū)
    git add . 

    #將暫存區(qū)的文件推送到本地倉庫
    git commit -m "此處為commment" 

    #查看工作區(qū)文件的狀態(tài): 
         untracked file 即新建文件未跟蹤->pycharm顯示文件為紅色?    
         working tree clean 即文件在暫存區(qū)待提交->pycharm顯示文件為綠色
         Changes not staged for commit即commit過&文件發(fā)生修改但未暫存->pycharm顯示文件為藍(lán)色
         Changes to be committed即文件已暫存,下次提交

    git status 


    #將本地倉庫代碼推送到遠(yuǎn)程倉庫
    git push origin ha  

步驟4: 發(fā)起merge request而后審批通過

步驟5: 切換本地分支到master

        git checkout master

步驟6: 拉取最新代碼

        git pull origin master

步驟7: 查看遠(yuǎn)程倉庫,應(yīng)該有master和ha

    git branch -r

步驟8: 以行查看最近提交的3條日志,會有commit哈希值和當(dāng)前head指向和遠(yuǎn)程倉庫的commit

    git log -3 --oneline
            
????????????????????????????????????????????????????????異常場景如下:
場景一刪除(針對工作區(qū)的處理):git rm ?<file>相當(dāng)于rm和git add
所有場景的前提: hello.py文件commit過到本地倉庫即被跟蹤的文件
-------------------------------------------------------------
場景1:某個py文件需要下掉不再使用,就需要刪除工作區(qū)文件并且推送到本地倉庫更新版本庫

前提:文件未發(fā)生修改即 當(dāng)前工作區(qū)的文件內(nèi)容同當(dāng)前版本庫的內(nèi)容一致

步驟1: 刪除工作區(qū)的文件并將該文件添加到暫存區(qū)

        git rm hello.py

步驟2: 查看文件狀態(tài): Changes to be committed: deleted hello.py

        git status

        

步驟3: 推送到本地倉庫

        git commit -m "此處為comment"


最終: 當(dāng)前版本庫的文件和工作區(qū)文件保持一致


-------------------------------------------------------------
場景2: 同場景1
前提:文件發(fā)生修改

步驟1: 強(qiáng)制刪除工作區(qū)的文件并將該文件添加到暫存區(qū)

        git rm -f hello.py

步驟2: 推送到本地倉庫

-------------------------------------------------------------
場景3: 某個py文件不希望被提交,僅在工作區(qū)使用.比如日志文件,緩存文件/誤提交,想要從版本庫刪除
解決方案: 使用.gitignore文件添加需要忽略的文件
步驟1: 刪除文件

        git rm --cached hello.py

步驟2: 查看文件狀態(tài)

        git status  
        # Changes to be committed: deleted hello.py 需要commit的
        # unpacked file: hello.py 被取消退回工作區(qū)即未被跟蹤

步驟3: 推送到本地倉庫會更新版本庫

步驟4: 查看工作區(qū)文件還在

場景二撤銷(針對暫存區(qū)的處理):git restore ?--staged <file>
-------------------取消暫存區(qū)的文件----------------
步驟1: 將hello.py, myapp.ini文件添加到暫存區(qū)

        git add .

步驟2: 想要將hello.py其從暫存區(qū)撤回

        git restore --staged hello.py

步驟3: 核對該文件狀態(tài)

        git status  # Untracked files: hello.py且該文件在pycharm顯示紅色

步驟4: 所有暫存區(qū)的文件都取消

        git restore --staged .


-------------------修改暫存區(qū)文件內(nèi)容但未重新暫存,想要撤回工作區(qū)的修改---------------
步驟1: 將hello.py添加到暫存區(qū)

        git add .

步驟2: 對該文件進(jìn)行修改


步驟3: 查詢本地倉庫文件狀態(tài),簡潔展示為: M hello.py  即modified hello.py

        git status -s

步驟4: 撤回修改

        git restore hello.py

-------------------修改暫存區(qū)文件本身(刪除文件)但未重新暫存,想要撤回修改---------------

場景三重置(針對本地倉庫處理):git reset ?--options <目標(biāo)commit 哈希值>
--------------------(謹(jǐn)慎操作)工作區(qū)刪除,暫存區(qū)刪除,本地倉庫&遠(yuǎn)程倉庫刪除------------------
步驟1: 新增hello.py文件并添加到暫存區(qū)

        git add .

步驟2: 推送到本地倉庫

        git commit -m "此處為comments"

步驟3: 推送到遠(yuǎn)程倉庫

        git push origin master


步驟4: 查看已經(jīng)提交的commit記錄
        
        git log --oneline  # 行形式查看未刪除的commit,會有commit的哈希值和HEAD指向
        # 假設(shè)當(dāng)前已經(jīng)commit的記錄有如下:

        234dr  (HEAD->master,origin master)hello.py
        1e2d3  addFile.py

步驟5: 撤回并刪除hello.py文件
        
        git reset --hard 1e2d3

步驟6: 查看HEAD當(dāng)前指向的commit

        git log --oneline

        # 當(dāng)前已經(jīng)commit的記錄如下:

        1e2d3  (HEAD->master)

reset操作會導(dǎo)致本地倉庫和遠(yuǎn)程倉庫的版本不一致,后續(xù)push也會有問題
        解決辦法:
        git reflog  # 查看所有分支的操作記錄(包括已刪除的commit和reset),找到刪除的commit哈希值

步驟8: 再次使用reset恢復(fù)


        git reset --hard <被刪除的commit哈希值>




-----------------------2.工作區(qū)刪除,暫存區(qū)刪除,本地倉庫回滾到指定commit---------------
步驟1: 新增hello.py文件并添加到暫存區(qū)

        git add .

步驟2: 推送到本地倉庫

        git commit -m "此處為comments"

步驟3: 查看未被刪除的commit記錄以及當(dāng)前HEAD

        git log --oneline
        
        # commit列表:
        8b9c1c3 (HEAD -> master) hello.py
        0d64047 (origin/master) fix

步驟4: 回退到上一個commit即撤回并刪除提交到本地倉庫的文件hello.py

        git reset --hard 0d64047


---------------------3.工作區(qū)保留,暫存區(qū)保留,本地倉庫回滾到指定commit-------------------
步驟1: 新增hello.py文件并添加到暫存區(qū)

        git add .

步驟2: 推送到本地倉庫

        git commit -m "此處為comments"

步驟3: 查看未被刪除的commit記錄以及當(dāng)前HEAD

        git log --oneline
        
        # commit列表:
        aa9825a (HEAD -> hmx) hello.py
        b19a398 bcde.py
        31ec1be bce.py


步驟4: 回退到上一個commit

        git reset --soft b19a398

步驟5: 再次查看提交日志

        # commit列表:
        b19a398 (HEAD -> hmx) bcde.py
        31ec1be bce.py

步驟6: 查看文件的狀態(tài)都為:Changes to be committed

--------------------4.工作區(qū)保留,暫存區(qū)文件取消,本地倉庫回滾-------------------

步驟1: 新增hello.py文件并添加到暫存區(qū)

        git add .

步驟2: 推送到本地倉庫

        git commit -m "此處為comments"

步驟3: 查看未被刪除的commit記錄以及當(dāng)前HEAD

        git log --oneline
        
        # commit列表:
        aa9825a (HEAD -> hmx) hello.py
        b19a398 bcde.py
        31ec1be bce.py


步驟4: 回退到上一個commit

        git reset --mixed b19a398

步驟5: 再次查看提交日志

        # commit列表:
        b19a398 (HEAD -> hmx) bcde.py
        31ec1be bce.py

步驟6: 查看文件的狀態(tài)都為:Untracked files
場景三(針對本地倉庫恢復(fù)):revert
場景四:隱藏(切換分支,隱藏工作區(qū)/暫存區(qū)的文件):git stash?

? ? ? ? ? ? ? ? git有多個提交區(qū),提交之后切換分支不會受到影響

????????????????但git只有一個工作區(qū)和暫存區(qū),文件在工作區(qū)/暫存區(qū)切換分支會受到影響

---------------commit之后切換分支--------------------------------
步驟1: 新增hello.py文件并添加到暫存區(qū)

        git add .

步驟2: 推送到本地倉庫

        git commit -m "此處為comments"

步驟3: 切換到分支B,看不到hello.py文件


        git checkout B

----------------暫時不想commit切換分支也不希望其他分支受到影響--------------

步驟1: 分支A下新增hello.py文件添加到暫存區(qū); world.py文件在工作區(qū)

步驟2: 隱藏工作區(qū)和暫存區(qū)的上述2個文件

        git stash save "此處為備注,方便恢復(fù)時查找"

步驟3: 切換到分支B,看不到2個文件

步驟4: 切換到分支A,列出隱藏工作現(xiàn)場的文件list

        git stash list  # 比如 stash@{0}: On A: hello.py&world.py

步驟5: 恢復(fù)工作現(xiàn)場并刪除隱藏記錄


        git stash pop stash@{0}

----------------在工作區(qū)直接切換分支----------------------

步驟1: 在當(dāng)前分支A下新增hello.py文件

步驟2: 切換到分支B, 也可以hello.py文件


---------------暫存區(qū)直接切換分支------------------------

步驟1: 在當(dāng)前分支A下新增hello.py文件

步驟2: 將文件添加到暫存區(qū)

步驟3: 切換到分支B, 也可以hello.py文件

場景五:git checkout
總結(jié)
(1)會碰到的報錯:
? ? ? ? 1. 拉取遠(yuǎn)程倉庫代碼的時候

????????報錯:fatal: Need to specify how to reconcile divergent branches.

? ? ? ? 解決:

? ? ? ? 2. 推送代碼的時候

? ? ? ? 報錯:?! [rejected] ? ? ? ?master -> master (non-fast-forward) error: failed to push some refs to 'gitee.com:xxx'

? ? ? ? 原因排查:

? ? ? ? ? ? ? ? 排查1: 進(jìn)行reset后,git版本不一致導(dǎo)致的

? ? ? ? ? ? ? ? 解決1: 使用 git reset --hard <此處為誤刪除的commit的哈希值>,操作該命令再進(jìn)行push

? ? ? ? 3. 代碼推送到本地倉庫后,切換分支

? ? ? ? 報錯:error: Your local changes to the following files would be overwritten by checkout:
? ? ? ? x x.py
????????????????????????Please commit your changes or stash them before you switch branches.
????????????????????????Aborting

? ? ? ? 原因:?文章來源地址http://www.zghlxwxcb.cn/news/detail-761712.html

(2)reset,revert,checkout的區(qū)別

到了這里,關(guān)于【Git】3.git常用命令(結(jié)合提交/拉取代碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • idea提交代碼到git以及git常用命令

    idea提交代碼到git以及git常用命令

    本次操作以將本地代碼提交到gitlab為例,不過都大同小異,差別不大。 Git 作為分布式版本控制軟件,存儲文件的位置叫做倉庫。倉庫有遠(yuǎn)程倉庫(互聯(lián)網(wǎng)上一臺服務(wù)器或局域網(wǎng)內(nèi)的一臺服務(wù)器)和本地倉庫(本機(jī)的一個目錄)兩種。 系統(tǒng)中任意文件夾都可以作為本地倉庫。

    2024年02月04日
    瀏覽(94)
  • 【Git】拉取代碼/提交代碼

    【Git】拉取代碼/提交代碼

    1.從將本地代碼放入遠(yuǎn)程倉庫 ( 如果有分支的情況 ) [git checkout xx切換分支后 git add . 將本地所有改動文件新增 commit之后 git push(將代碼全部提交)] 分支操作 2.在遠(yuǎn)程倉庫拉取代碼放入本地 ??????第一次從線上拉取代碼到本地時,輸入克隆命令: git clone 遠(yuǎn)程倉庫地址 Errno -

    2024年02月11日
    瀏覽(85)
  • Git拉取和提交代碼

    Git拉取和提交代碼

    git管理程序的整體流程如下: git其他分支合并代碼到master分支 git主分支代碼合并到自己的分支(主分支代碼一般領(lǐng)先于自己的分支)

    2024年02月06日
    瀏覽(93)
  • 瀟灑郎: git配置、拉取、提交代碼

    瀟灑郎: git配置、拉取、提交代碼

    git config --global user.name \\\"xuxiaosa\\\" git config --global user.email \\\"xuxiaosa@migu.cn\\\" 1、打開git-bash 輸入ssh-keygen 一直回車,會提示文件保存的地址 id_rsa,id_rsa.pub兩個文件默認(rèn)在user/.ssh目錄下 ? ? 不用https git pull git add . git commit -m \\\'優(yōu)化用戶建立連接后等待問題,避免超時斷鏈\\\' git push git che

    2023年04月23日
    瀏覽(101)
  • git拉取歷史提交的代碼

    git拉取歷史提交的代碼

    我們在寫項目時,通常提交很多次代碼,如果我們想拉取歷史commit的某次代碼,該如何做呢? 首先:將整個代碼拉取到本地 接著,查看提交日志: 可以查看到黃色的commit的哈希值。 再創(chuàng)建新的分支并切換到新分支 最后,輸入代碼

    2024年03月23日
    瀏覽(99)
  • VScode&Git 拉取提交推送代碼

    VScode&Git 拉取提交推送代碼

    拉取在終端輸git clone? + url的地址 推送前先拉取 點擊第三按鈕旁邊就是你修改的一些項目文件了 先添加暫存區(qū),再寫提交說明,然后點commit按鈕提交代碼,最后點push按鈕推送到GitHub(注意先pull) ? ?

    2024年02月11日
    瀏覽(99)
  • git拉取項目及提交本地代碼到遠(yuǎn)程倉庫

    git拉取項目及提交本地代碼到遠(yuǎn)程倉庫

    目錄 流程 創(chuàng)建倉庫 首次拉取項目 提交項目? 1.設(shè)置簽名 ?2.查看工作區(qū)狀態(tài) ?3.提交 流程 首次從遠(yuǎn)程倉庫中拉取項目使用Clone命令,將項目存儲在自己的本地倉庫中,當(dāng)編輯結(jié)束,需要將更新的內(nèi)容提交到遠(yuǎn)程倉庫時,有這樣幾個步驟: 首先,需要將工作區(qū)的內(nèi)容添加到暫

    2024年01月18日
    瀏覽(108)
  • IDEA結(jié)合Git拉取代碼到自己的分支

    IDEA結(jié)合Git拉取代碼到自己的分支

    步驟說明: 創(chuàng)建自己的分支,例如:項目名_csdn_dev 在Git庫中復(fù)制項目Git地址 在IDEA中選中file–new–project from Version control…輸入復(fù)制的項目Git地址,以及拉取的代碼在本地的存放地址 找到對應(yīng)的分支拉去代碼到自己的分支(項目名_csdn_dev) 詳細(xì)步驟演示 : 1、創(chuàng)建自己的分

    2024年02月15日
    瀏覽(97)
  • IntelliJ IDEA切換Git遠(yuǎn)程分支 提交代碼 拉取最新代碼

    IntelliJ IDEA切換Git遠(yuǎn)程分支 提交代碼 拉取最新代碼

    ????????前言:眾所周知Git用命令提交代碼比較繁瑣,而且還得記住命令,那如何讓我們更加方便的提交代碼呢 以及獲取最新內(nèi)容拉到本地 還有更換你要提交到的分支呢 下面廢話不多說。 目錄 IDEA里切換Git分支 IDEA里提交代碼到遠(yuǎn)程 IDEA拉取最新代碼 第一種: 右鍵項目

    2023年04月24日
    瀏覽(301)
  • vscode中g(shù)it拉取、提交代碼、解決沖突,以及合并代碼的操作

    vscode中g(shù)it拉取、提交代碼、解決沖突,以及合并代碼的操作

    場景:本地有修改代碼,遠(yuǎn)程倉庫沒有更新,這時本地想要提交代碼。 步驟:本地修改了testA文件內(nèi)容-本地先暫存提交-拉取-推送; 本地修改了testA文件內(nèi)容 本地先暫存提交 拉取 推送 遠(yuǎn)程倉庫上就可以看見提交記錄了 解決沖突場景:本地有修改代碼,遠(yuǎn)程倉庫同時有更新

    2024年02月05日
    瀏覽(110)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包