日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Github基本操作的学习与温习

發布時間:2023/12/18 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Github基本操作的学习与温习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GitHub是最先進的分布式版本控制工具,下面是我學習中總結的操作流程,僅供參考

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Git安裝

?????????????????? 下載git的windows版本并安裝,不予詳述(直接打開安裝包,按默認的流程一步步進行即可,任意位置點擊鼠標右鍵彈出git 字樣的選項時即為安裝成功)

?????????????????? 安裝成功后輸入下面命令進行設置

??????????????????????????? $ git config --global user.name "你的git賬號"

$ git config --global user.email "你注冊git賬號的郵箱"

Git操作:

?????????????????? ?創建版本庫

  • 選擇一個地方創建空目錄(所有目錄名必須是英文的,中文的會出bug)
  • 輸入下列命令
  • $ mkdir learngit //learngit為倉庫名,可以自己命名

    $ cd learngit

    $ pwd????? //顯示當前目錄

    ??????????????????????????? $ git init? //將目錄變為git管理的倉庫

  • 添加文件,在learngit文件夾下創建文件,輸入下列命令
  • $ git add 文件名????? //文件名是創建文件的名字

    $ git commit -m "注釋"//-m后面提交的是文檔說明,這個必須要有,否則報錯

    ?????????????????? 修改版本庫:

  • 查看倉庫狀態:
  • $ git status

  • 查看修改內容:
  • $ git diff 文件名

  • 查看歷次版本歷史紀錄
  • $ git log

  • 回退上次版本
  • $ git reset --hard HEAD^

  • 回退到任意一個版本
  • $ git reset --hard num //num 為要回退到某個版本的版本號,部分即可

  • 查詢歷史命令
  • $ git reflog

  • 查詢工作區和版本庫里面的最新版本的區別
  • $ git diff HEAD -- 文件名 //要查詢文件的名字

  • 放棄工作區文件的修改(此命令中的兩個橫杠很重要,不能少寫)
  • $ git checkout -- 文件名 //放棄修改的文件名稱

  • 撤銷暫存區文件的修改
  • $ git reset HEAD 文件名

    Git工作時候實際上是工作區->暫存區(stage)->分支(master為git自動創建的分支),HEAD為指向master 的一個指針。Git add實際上是將文件提交到了暫存區。Git commit是將暫存區的所有內容都提交到分支,可以先執行多個add,

    再使用一個commit提交。

    ?????????????????? 如果直接將文件管理器中的文件刪除或者使用rm命令刪除,工作區和版本庫的內容就會不一致,此時:

  • 可以選擇直接從版本庫中刪除文件
  • $ git rm 文件名

    $ git commit

  • 文件刪除錯誤,這時可以從版本庫里還原文件
  • $ git checkout -- 文件名

    連接git網站:

  • 創建SSH Key,在user目錄下(用戶主目錄),查看是否有.SSH文件,并且查看其下面有無id_rsa(私鑰,不能告訴別人)和id_rsa.pub(公鑰,可以告訴別人)文件,如果沒有可以運行命令創建
  • $ ssh-keygen -t rsa -C "郵箱名"

  • 登陸GitHub網站,打開“SSH Key”頁面,點擊“new SSH”,輸入任意名,粘貼公鑰內容
  • 有本地庫后創建遠程庫:

  • 登陸網站,點擊“create a new repository”,創建新庫,設置名稱learngit,點擊創建
  • 將本地內容關聯到遠程庫里面去
  • $ git remote add origin git@github.com:賬戶名/learngit.git

  • 把本地庫的內容推送到遠程庫上,
  • $ git push -u origin master

    第一次推送時使用-u參數關聯,后面推送時候就可以簡化命令$ git push origin master

    從遠程庫克隆庫

  • 登陸網站,假設已經創建了一個庫gitskill
  • 克隆庫到本地
  • $ git clone git@github.com:賬戶名gitskill.git

    $cd gitskill?????? //創建本地文件夾

    $ls

    創建與刪除分支:

  • 創建另一個分支dev,并將指針HEAD切換到另一個分支上去
  • $git checkout -b dev? //dev為另一個分支名,記住中間是一個橫杠

    -b表示創建并切換

  • 查看所有分支
  • ???????? ?????????????????? $ git brach

  • 切換分支
  • $ git checkout master//切換回master分支

  • 合并分支
  • $ git merge dev? //將dev分支合并到當前分支上來

  • 刪除分支
  • $ git branch -d dev? //刪除dev分支

    分支沖突:

    ?????????????????? 當創建一個新分支并且做出修改后回到原分支再次修改文件,此時git無法將兩個修改的文件進行快速合并,必須將某一個文件修改后或使其完全一致方可。查看分支合并情況:

    ??????????????????????????? $ git log --graph --pretty=oneline --abbrev-commit? //查看沖突分支的合并情況

    No-ff模式(禁用fast forward模式)

    ??????????????????????????? Fast forward模式下合并分支會丟失分支信息,禁止后在執行合并分支操作時能從分支歷史上看到分支信息。 禁用模式下執行合并命令:

    ??????????????????????????? $ git merge? --no-ff -m "注釋"

    儲存工作狀態:

    ?????????????????? 在處理bug等必須暫時離開時,可以保存現在的工作狀態

  • 儲存當前工作狀態:
  • $ git stash?? //存儲當前分支

  • 修復bug(假如在master中修復bug)
  • $ git checkout master??? // 轉到master分支

    $ git checkout –b issue-101?? //創建新的分支issue-101來修復bug

  • 修復完成后:
  • $ git checkout master?? //切換回master

    $ git merge –no-ff –m “注釋” issue-101 //修改完bug的分支合并到master中去,并保留痕跡

    $ git branch –d issue-101?? //刪除臨時分支

    ??????????????????????????? 4.切換回原來的工作狀態

    ???????????????????????????????????? $ git checkout dev

    此時工作區是沒有東西的,原來的stash內容被存在別的地方,可以用$ git stash list來查看。此時工作現場還在,此時可以執行:

    ?????? $ git stash apply?? // 恢復存儲內容

    ?????? $ git stash drop??? // 刪除儲存的工作狀態文件

    或者一次恢復并刪除工作狀態文件:

    ?????? $git stash pop

    刪除分支:

    當分支創建完畢即將合并時,突然不使用這個分支了,要將其刪除。此時使用強行刪除命令(此時沒有合并,不能使用git branch來刪除分支):

    ??????????????????????????? $ git branch –D feature?? //feature 是要刪除的分支名字

    多人協作:

  • 查看遠程庫的信息
  • $ git remote????

    或者使用命令

    $ git remove –v ???//查看遠程庫更詳細的內容

  • 推送分支到公共庫
  • $ git push origin 分支名?? // origin是遠程庫的默認名稱

    注意:

    l? Master 是主分支,需要時刻與遠程庫同步

    l? Dev為開發分支,也需要同步

    l? Bug 分支只用于本地修復bug,沒必要推送

    l? Feature 是新功能開發分支,這個取決于是否與他人合作開發

  • 抓取分支,當開發者同時更新dev分支時,可以先抓取這個分支到本地,解決沖突后再上傳
  • $ git branch –set-upstream dev origin/dev? //指定本地和遠程庫dev文件的鏈接

    $ git pull????????????????? //抓取網上的dev文件

    創建標簽:

    ??????????????????????????? 為每一個分支創建一個版本號:

    ?????????????????????????????????????????????? $ git branch??? //查看分支

    ?????????????????????????????????????????????? $ git checkout master?? //轉到需要加版本號的標簽

    ?????????????????????????????????????????????? $ git tag v1.0??? //為分支創建版本號標簽,v1.0為版本號

    ?????????????????????????????????????????????? $ git tag????? //查看所有版本號標簽

    ?????????????????????????????????????????????? $ git show tag??? //查看所有版本號標簽的詳細信息

    創建帶有說明的標簽:

    ?????????????????? $ git tag –a 版本號? -m “說明文字“

    看版本號的說明文字

    ?????????????????? $ git show 版本號?

    操作標簽:

    ???????? ?刪除標簽:

    ???????????????????????????????????? $ git tag –d 版本號

    ???????? 推送標簽到遠程:

    ???????????????????????????????????? $ git push origin 版本號

    ???????? 推送所有標簽名到遠程:

    ???????????????????????????????????? $ git push origin –tags

    ???????? 如果標簽已經推送到遠程,可以先刪除本地的,再 刪除遠程的

    ???????????????????????????????????? $ git tag –d 版本號? //? 刪除本地的

    ???????????????????????????????????? $ git push origin :refs/tags/版本號

    轉載于:https://www.cnblogs.com/wuheng1991/p/5443001.html

    總結

    以上是生活随笔為你收集整理的Github基本操作的学习与温习的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。