哈工大軟體構造(前置篇)

来源:https://www.cnblogs.com/kalesky/archive/2022/05/13/16267792.html
-Advertisement-
Play Games

鑒於本屆諸多同學在一開始接觸到軟體構造課程時出現了對於Github的使用以及對於文件目錄的設置等諸多問題,本人雖然很菜,但是願意寫本篇博客以記錄一些前置內容的操作方法,如有謬誤,敬請指正!謝謝! ...


鑒於本屆諸多同學在一開始接觸到軟體構造課程時出現了對於Github的使用以及對於文件目錄的設置等諸多問題,本人雖然很菜,但是願意寫本篇博客以記錄一些前置內容的操作方法,如有謬誤,敬請指正!謝謝!

目錄

 

一、Github的使用

1、Github賬戶建立

2、Git的下載與使用 

 二、文件目錄

三、lib庫的導出

本人博客園博客(同步CSDN)

何以牽塵 - 博客園 (cnblogs.com)https://www.cnblogs.com/kalesky/

 

一、Github的使用

1、Github賬戶建立

這一點其實沒有太多好說的,唯一的卡點可能是國內網路有時登錄Github網站登不進去,這(可能,我猜)是由於我國網路對Github半封禁所致(畢竟上面有很多反動言論,建議不信謠不傳謠,堅定我黨的理想信念,發揮先鋒模範作用),因此可能需要魔法上網的操作(如果不會魔法上網,可以等啥時候不卡了再上,鑒於法律法規不可以透露並傳播如何使用魔法,同學們也需謹記)

關於Github的註冊,這一點我相信絕大部分哈工大計算學部的優秀學子不需要我教學,掛一下CSDN上已有的詳細教程(肯定比我寫的詳細):

(3條消息) 創建我的GitHub賬號及使用_xingkaifan的博客-CSDN博客_創建github賬號https://blog.csdn.net/xingkaifan/article/details/81105352

在這之後呢,咱建議先跟著Github上的官方教程步驟一步步創建一個倉庫,添加一些文件,使用一下分支管理,對後續實驗的操作也有很大的幫助,能夠更好地瞭解Github在多人協同工作方面的優勢。

不要嫌麻煩!!!不要嫌麻煩!!!不要嫌麻煩!!!教程做下來一遍大概二十多分鐘,耽誤不了你找女朋友玩兒!(有人沒有女朋友,我不說是誰doge) 

之後大部分同學第一次接觸應該是沒有配置過SSH的,建議配置一下,對於後續倉庫的連接、克隆都非常有用。什麼?你問我什麼是SSH?請看這個截圖:

左側就是大伙兒常用的https的方法了,右側呢就是推薦配置的SSH的方法,下麵放上網上大佬的保姆級教程,教程里也有寫SSH的優點好處,我就不贅述了,在這兒我就當個給大佬們引流的工具人吧哈哈哈哈(bushi)

(3條消息) github配置ssh(圖文教程)_追夢2222的博客-CSDN博客_github sshhttps://blog.csdn.net/qq_37294163/article/details/103099424

整完了?繼續往下看吧,還有很多呢~

 

2、Git的下載與使用 

這個呢,我Git當時很早就下了,不在這個學期,所以具體咋裝的我也記不太清了,直接上教程:

Git下載、安裝與環境配置_糖葫蘆的小黑屋的博客-CSDN博客_git安裝配置一、git下載與安裝百度git官網,下載鏈接,根據自己電腦系統下載相應的安裝包,下載最新版本,點擊紅框或籃筐處即可點擊下載好的安裝包安裝這個軟體一直點擊next,直到出現install,點擊install,安裝完成後點擊finish:安裝好後在桌面界面點擊滑鼠右鍵,會出現如下界面檢查git是否安裝OK鍵盤Ctrl+r,然後在彈出框中出入cdm,彈出如下界...https://blog.csdn.net/huangqqdy/article/details/83032408

這裡挺全的,照著做就行了,感覺國內網下的比較慢就掛個梯子試試,我記得用外網好像比內網更慢(doge),反正八仙過海各有神通吧。上面這個教程後面也有SSH的配置,lazy boy們,上面SSH沒做的這裡也要做一下喂~

安裝完Git過後就得考慮創建個本地倉庫來clone/pull/push學校給你的遠程倉庫的東西了,這裡我也有個保姆級教程,註意!!!(都看過來!!!非常重要!!!免得你們等會兒出bug怪我!!!為了避免你們使用我下麵的教程出錯,建議你們拿到學校發的倉庫後先登進去,在Settings先改用戶名!!!改成HIT-LabX-學號的格式,你們老師發的lab0.pdf里應該也有,然後!!!最好先遠程創個文件比如說README這種,先給他初始化整一下,免得報錯,不做的話後面教程容易出問題,我室友就是這樣子)

添加README看截圖:

 

Git Bash的教程掛在下麵:(不推薦使用GUI,首先界面很嘖嘖,其次老師也會罵一頓GUI)

(3條消息) 軟體構造(零)git bash的使用方法(內附詳細代碼以及詳細圖片)_qq_28849009的博客-CSDN博客https://blog.csdn.net/qq_28849009/article/details/104486824

這裡我自己也寫一下吧(結合了自己的經歷跟教程,建議看我的(手動doge))

1、在本地先創建個文件夾作為本地倉庫,我自己是另外創的,沒用Eclipse或者IDEA的項目文件夾,每次提交就把項目文件夾里的東西複製一下到這個本地倉庫的文件夾里,也很好用,免得出什麼糟心問題。在這個文件夾里右鍵,Git Bash here,看不懂的看截圖(smile.jpg)

 免得各位有傻小子按照教程手打cd路徑(沒錯我就是那個傻小子,尤其是我路徑還很長,寄!)

2、初始化倉庫       

git init

3、跟遠程倉庫鏈接起來       

git remote add origin(空格)倉庫Url

Url就是你的倉庫網址(通俗來說), 哦對了,在Bash裡面不要直接Ctrl+C Or Ctrl+V,不知道為啥自己試一下就好(doge),使用右鍵Copy是複製的意思,Paste是粘貼的意思(防止英語不好的小叮噹看不懂),這裡的Url建議複製SSH地址,不懂的看截圖:

 點小方塊里的就複製下來SSH地址了,然後在Bash里那個位置Paste上去就行了。

4、寫用戶名用戶郵箱

我不確定要不要做(因為我菜),以防萬一就按照教程里搞一下

git(空格)config(空格)--global(空格)user.name(這裡加個空格)"(這裡填Github用戶名)"

空格懂得都懂,郵箱這行你們懂要加就行我就不打了

git config --global user.email "(這裡填註冊Github的郵箱)"

完事兒後他可能沒有按照教程里彈,有的人彈有的人沒彈,我就沒彈,不管他,繼續往下做

5、下麵這一步可做可不做,如果uu們按照我上面說的在倉庫里新加了個README初始化,就要做,不然會碰到糟心的事兒

git pull --rebase origin master

這一步是強制合併遠程倉庫到本地倉庫,就是把你加的文件整下來,免得之後push發現本地倉庫跟遠程不一樣然後嗡嗡叫不給你過。

6、初始化到這裡已經結束了,下麵是你寫完項目提交的事情

git add . 

這裡add後面空格後面加個點別忘了,表示把當前倉庫所有文件全部上傳。

7、提交修改日誌,得寫,別懶

git commit -m "(這裡寫你此次提交的備註)" 

8、上傳文件

git push -u origin master 

這一步過後可能會跳認證你身份的彈窗(如果你之前沒跳的話),認證就行

9、這裡你已經熟悉了上傳的操作,但是萬一你上傳錯了文件咋刪遠程倉庫的呢?看下麵

(不好意思我懶得打了,教程里有,這一步跟著教程就好,沒有太多坑,哈哈哈哈)

算了我還是打一下命令吧

git rm --cached -r "(這裡填你要刪的文件名)"

10、雜項

很多問題都是本地倉庫跟遠程倉庫不同步的原因造成的,這裡作為初學者咱也就只會強制同步,忘了的同學看下麵

git pull --rebase origin master 

還有問題沒解決?看我下麵附上的鏈接,如果還幫助不了你,自己整去!誰知道你咋整的這麼多問題,我講的已經夠全面了!

Git Bash提交文件到github_weixin_51638046的博客-CSDN博客0.下載git bash1.到所要提交的文件的位置此時應該顯示為(帶(master))如果沒有(master)則需信任git目錄2.初始化本地git倉庫git init;3.將github倉庫url添加git remote add origin https://github.com/......4.認證身份git config --global user.name “ ”git config --global user.email “...https://blog.csdn.net/weixin_51638046/article/details/124557186?spm=1001.2014.3001.5501

(上面這個是我室友寫的博客,你們可以看看,如果步驟跟我不一樣出了問題可以看他的)

(3條消息) Git 提示fatal: remote origin already exists 錯誤解決辦法_Ricky_Fung的博客-CSDN博客https://blog.csdn.net/top_code/article/details/50381432

(3條消息) error: failed to push some refs to如何解決_塵客-追夢的博客-CSDN博客https://blog.csdn.net/qq_45893999/article/details/106273214

(3條消息) git常見使用_流星雨線上的博客-CSDN博客https://blog.csdn.net/liuxingyuzaixian/article/details/123934095

 二、文件目錄

做到這裡的同學們,肯定有部分是沒懂報告上面要求的目錄對吧,沒事兒,我當時也沒懂,我用的是IDEA,至於Eclipse的同學可以借鑒一下吧,應該也差不多(還是要吹一波IDEA,比起Eclipse太智能了)

先給你們看下我Lab1的目錄:

 src下的P1、P2、P3我都設置成package,什麼?你不會看?第一方法:問大佬同學

第二方法,看我這兒的設置:

 點開,比如說這裡的test文件夾(就那個截圖裡面綠色的文件夾)的設置

 差不多就這樣,要是連package都不會創建,不如以頭搶地(算了我覺得還是會有以頭搶地的uu,右鍵src,滑到new,選Package,要是創建Java類,就選Java class)

三、lib庫的導出

這裡呢我的方法不確定是不是正統方法,我自己摸索的,網上沒找到啥有用的,其他人都用的Eclipse,好了這裡Eclipse的同學可以走了,你們導的很方便,IDEA的同學留下來

 左邊這裡External Libraries,在lab1里其實這兩個庫就是我們要導的,咋導呢?往下看

 右鍵這個外部庫,依次點紅框框,左邊就彈出這個

點第一個,然後就彈出來下麵這個,Ctrl+C,Ctrl+V複製到你建的lib文件夾里,完事兒 

 

 

沒了,看到這裡的uu們,可以考慮點個收藏點個贊再走唄,覺得有用還可以安利給同學們喲~

下麵是我博客園的博客(同步CSDN)

何以牽塵 - 博客園 (cnblogs.com)https://www.cnblogs.com/kalesky/

覺得有用的話還可以點個關註喲~~~不定期發佈哈工大電腦相關內容


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 翻譯自 Tim Sneath 2022年5月12日的文章 《Introducing Flutter 3》 作者 : Tim Sneath 翻譯 : 沙漠盡頭的狼(谷歌翻譯加持) 鏈接 : Introducing Flutter 3(英文原文) 我們在手機、桌面和網站開發上進行多平臺UI開發的歷程達到 ...
  • 1.“new”有什麼不對勁? 在我們沒有接觸到工廠模式(簡單工廠、工廠方法模式、抽象工廠模式)之前,我們實例化對象唯一的方法就是通過“new”關鍵字來完成。但是,大量的使用“new”關鍵字來實例化對象會違背一些設計原則,因為代碼與具體的類型綁在一起,從而導致過多的依賴於細節而非抽象,這樣代碼就很難適 ...
  • 到目前為止,我們知道Spring創建Bean對象有5中方法,分別是: 使用FactoryBean的getObject方法創建 使用BeanPostProcessor的子介面InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiati ...
  • package com.exception.demo01;public class demo01 { public static void main(String[] args) { try{new demo01().a();}//StackOverflowError異常 catch (Throwa ...
  • 介紹:本文用的經典的前後端分離開源項目ruoyi Gitee鏈接地址:https://gitee.com/y_project/RuoYi 一、拉取項目: 利用Git把項目拉取到本地,也可以直接利用idea工具拉取,如圖點擊Get from VCS 填入遠程倉庫地址url,點擊clonde 等待一段時 ...
  • 博客推行版本更新,成果積累制度,已經寫過的博客還會再次更新,不斷地琢磨,高質量高數量都是要追求的,工匠精神是學習必不可少的精神。因此,大家有何建議歡迎在評論區踴躍發言,你們的支持是我最大的動力,你們敢投,我就敢肝 ...
  • 本文緊接上文的AQS源碼,如果對於ReentrantLock沒有基礎可以先閱讀我的上一篇文章學習ReentrantLock的源碼 ReentrantLock鎖重入原理 重入加鎖其實就是將AQS的state進行加一操作 然後釋放鎖資源將AQS的state進行減一操作 當state為0時才會徹底的釋放鎖 ...
  • 目錄 一.簡介 二.效果演示 三.源碼下載 四.猜你喜歡 零基礎 OpenGL (ES) 學習路線推薦 : OpenGL (ES) 學習目錄 >> OpenGL ES 基礎 零基礎 OpenGL (ES) 學習路線推薦 : OpenGL (ES) 學習目錄 >> OpenGL ES 轉場 零基礎 O ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...