一 Git 初步掃盲

2022-05-10 01:55:29 字數 3749 閱讀 7731

github學習摘錄--乙個小小的搬運工

心情:醬油打太久是要吃土的xgn,為了給自己掃盲摘錄了這份入門級小白文件

1.什麼是 github/git?

git目前最流行的分布式版本控制系統,它是linus在2023年用c語言編寫的乙個分布式版本控制系統,初衷是管理linux原始碼(linus在2023年建立了開源的linux),在2023年github上線。

github的核心就是git,github是乙個基於git的**託管平台,付費使用者可以建私人倉庫,我們一般的免費使用者只能使用公共倉庫,也就是**要公開。

q:集中式版本控制系統(cvs,svn)和分布式版本控制系統(git)的區別

-分布式下開發者可以本地提交**,集中式必須聯網才能提交;

-分布式下開發者的電腦就是乙個完整的版本庫,擁有本地的**倉庫。除非開發改了相同檔案的相同部分,即衝突了需要手動合併,其他情況都可以自動合併

中文:exploring other projects on github(使用 探索 github、發現倉庫以及 趨勢頁面 來發現感興趣的專案。)

discover interesting projects using explore github, discover repositories, and the trending page.

3.github中的watch、star、fork的作用

watch:類似訂閱,訂閱這個專案的動態,這個專案有任何修改都會顯示在你的『資訊流頁』

star:等同於贊

fork:類似於拷貝,拷貝這個專案到你的賬號下,你的賬號下就會有乙個和這個專案一摸一樣的專案

issues:提問題的地方,這裡可以討論專案中的 bug 和作者交流

4.fork和clone的區別

1,如果我的目的是把專案搬到github上,就需要fork;

2,如果我的目的是把專案搬到我的電腦上,就需要clone;

3,如果我的目的想對別人的專案進行修改,就需要先fork到自己的github上,然後從自己的github上clone專案到自己的電腦,

然後修改,修改完之後push到自己的專案,然後在自己的github上pull request,這樣專案所有者會收到請求,並決定要不要接受你的**;

尋找專案

首頁的搜尋

explore:官方推出的推薦頁

trending:github 熱點專案(使用者 star 最多的專案)

我發起的 hellogithub —— 分享、推薦 github 上好玩、容易上手的專案

fork 具體:

*******************************github*******************************

2.git 安裝教程: (這作者也是操碎了心,給了詳細的文字注釋)

參照鏈結

廖雪峰的完整git教程,規整簡單易懂

中文 

3.配置全域性的使用者名稱和郵箱,命令分別為

git config --global user.name "username"

git config --global user.email "email"

檢視全域性的使用者名稱和郵箱,命令分別為

git config --global user.name

git config --global user.email

為單一的倉庫配置使用者名稱和郵箱,命令分別為

git config user.name "username"

git config user.email "email"

檢視單一的倉庫配置的使用者名稱和郵箱,命令分別為

git config user.name

git config user.email

4.輸入「git remote rm origin」刪除遠端倉庫

5.再輸入git remote add origin 倉庫位址,成功

6.輸入git push origin,提示如圖

git init 初始化乙個空倉庫

4.輸入「git remote rm origin」刪除遠端倉庫

5.再輸入git remote add origin 倉庫位址,成功

git push origin master

git pullorigin master

git remote add origin or

git remote add origin [email protected]:runwuwusheng/test3.git

6.輸入git push origin,提示如圖

push declined due to email privacy restrictions解決方式

版本回退

檢視歷史記錄:git log

head指向的版本就是當前版本,因此,git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。

穿梭前,用git log可以檢視提交歷史,以便確定要回退到哪個版本。

要重返未來,用git reflog檢視命令歷史,以便確定要回到未來的哪個版本。

git必須知道當前版本是哪個版本,在git中,用head表示當前版本,也就是最新的提交1094adb...(注意我的提交id和你的肯定不一樣),上乙個版本就是head^,上上乙個版本就是head^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成head~100。

修改:第一次修改 -> git add -> 第二次修改 -> git add -> git commit

撤銷修改:log status :檢視修改狀態

場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file。

場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head ,就回到了場景1,第二步按場景1操作。

場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠端庫。

檔案刪除:

git知道你刪除了檔案,因此,工作區和版本庫就不一致了,git status命令會立刻告訴你哪些檔案被刪除了:在你有兩個選擇,一是確實要從版本庫中刪除該檔案,那就用命令git rm刪掉,並且git commit:另一種情況是刪錯了,因為版本庫里還有呢,所以可以很輕鬆地把誤刪的檔案恢復到最新版本:git checkout其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以「一鍵還原」。

注意:從來沒有被新增到版本庫就被刪除的檔案,是無法恢復的! 你只能恢復檔案到最新版本,你會丟失最近一次提交後你修改的內容。

新增遠端庫

要關聯乙個遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git;

關聯後,使用命令git push -u origin master第一次推送master分支的所有內容;

此後,每次本地提交後,只要有必要,就可以使用命令git push origin master推送最新修改;

從遠端庫轉殖

要轉殖乙個倉庫,首先必須知道倉庫的位址,然後使用git clone命令轉殖。

git支援多種協議,包括https,但通過ssh支援的原生git協議速度最快。

檢視分支:git branch

建立分支:git branch

切換分支:git checkout

建立+切換分支:git checkout -b

合併某分支到當前分支:git merge

刪除分支:git branch -d

git初步學習(一)

我們這節只關心本地倉庫,和遠端倉庫無關 git init 在當前檔案建立git本地倉庫 git add 檔名 git add 全部加入 將檔案新增到暫存區 用於之後新增到本地倉庫 此時檔案就被加入了版本控制,狀態由untracked git commit m 備註資訊 備註資訊用於說明修改了什麼 將...

Git掃盲教程 基礎篇

git基本操作 git前導概念 工作區 就是在電腦可以看到的目錄 暫存區 在工作區和本地倉庫中間的乙個區域 本地倉庫 在本地的 倉庫 遠端倉庫 在遠端的 倉庫 如github 分支 提交 的每次提交,串成的一條線,分支與分支之間互不影響 git本地倉庫 建立倉庫 git init 提交檔案至暫存區 ...

GIT初步使用

今天一直在想,怎麼可以在eclipse上把 託管到像github或codegoogle上,今天試了一下午,都沒有成功 不知道是網路的原因還是什麼的,悲催的 無奈只能用命令列使用。以下是 基本步驟 git smartgt 2.在github註冊,new repository 完成基本的操作 3.建立金...