git 修改分支名字_基础Git操作与GitHub协作吐血整理,收好!| 原力计划
Git介紹
Git是目前世界上最先進的分布式版本控制系統,可以為我們管理項目、構建工程、多人協作提供便利,作為一個愛技術的你可以是必須要掌握的呀!!!
Git安裝(installation)
Linux上安裝Git
Windows安裝Git
直接從Git官網下載安裝程序,然后按默認選項安裝即可。當我們安裝完成后,還需要最后一步設置,在任意目錄下Git bash Here在命令行輸入:
1git?config?--global?user.name?"Your?Name"2git?config?--global?user.email?"email@example.com"
通過上述語句輸入你的名字和Email地址。
基本命令
基本操作
創建版本庫,版本庫又名倉庫,我們可以理解為一個目錄,這個目錄里面的所有文件都可以被Git管理起來,每個文件的修改、刪除,Git都能跟蹤,以便任何時刻都可以跟蹤歷史,或者在將來某個時刻可以“還原”。
接下來在一個合適的地方,創建一個空目錄:
2cd?algorithms
3pwd
通過git init命令把這個目錄變成Git可以管理的倉庫:
2>>>Initialize?empty?Git?repository?in?....
通過上面的命令我們創建了一個空的倉庫,可以發現當前目錄下多了一個 .git的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄里面的文件,不然Git倉庫就破壞了。
文件添加到版本庫
接下來我們編寫一個文件或者腳本,比如一個markdown文件notes.md,具體內容如下:
1Git?is?a?version?control?system.2This?is?the?first?note
接下來我們利用命令git add將文件添加到倉庫:
1git?add?notes.md然后利用命令git commit告訴Git,把文件提交到倉庫:
1git?commit?-m?"write?a?notes?file"上面語句**-m后面輸入的是本次提交的說明,可以輸入任意內容,還要注意commit可以一次性提交很多文件,所以我們可以多次add**不同的文件。
狀態查看
接下來我們再修改一下notes.md文件,修改內容如下:
1Git?is?a?version?control?system.2This?is?the?first?note.
3This?is?the?second?note.
接下來我們可通過git status命令查看結果:
1git?status上述命令可以時刻掌握倉庫當前的狀態,通過運行上述命令我們可知,notes.md文件被修改了,但是還沒準備提交修改。此外如果想查看具體修改了什么內容,可以通過git diff命令查看:
1git?diff?notes.md修改完后就可以提交到倉庫了,提交修改和提交新文件都是一樣的,第一步git add:
1git add notes.md在第二步git commit之前,可通過git status查看當前倉庫的狀態:
1git?status接下來我們就可以放心提交了:
1git?commit -m "add second note"提交后我們可以再次使用git status命令查看倉庫的當前狀態,Git告訴我們當前沒有需要提交的修改,而且工作目錄是干凈的。
版本回退
在實際工作中,我們可以通過git log命令查看版本控制系統的歷史記錄:
1git?log上述命令顯示從最近到最遠的提交日志,我們也可以加入**–pretty=oneline**參數來簡化日志:
1git log --pretty=oneline如果現在我們想把notes.md文件回退到上一個版本,該如何做呢?首先我們需要明確在Git中,用HEAD表示當前版本,上一個版本就是HEAD^, 上上一個版本就是HEAD^^, 當然往上100個版本寫個100個 ^ 比較容易寫不出來,可以寫為HEAD~100。
通過git reset命令進行回退:
1git?reset?--hard?HEAD^通過git log命令可以發現最新的版本已經不見了,那如果想回去該咋辦呢?我們可以通過找到最新的版本的commit id為cf890…,于是就可以指定回到未來的某個版本:
1git reset --hard cf890如果找不到最新版本的id,Git可以利用git reflog用來記錄你的每一次命令:
1git?reflog通過上述命令你就可以找到commit id了。
屬性查看
當我們安裝配置之后,有時候需要查看當前配置的相關情況,可使用下面的命令:
1. 查看本地Git的用戶名和郵箱
1git?config?user.name??#?用戶名2git?config?user.email?#?郵箱
2. 查看global類型的配置情況
1git?config?--global?--list3. 如果你想切換用戶,則還是可以通過設定用戶名和郵箱的方式進行修改
1git?config?--global?user.name?"Your?Name"2git?config?--global?user.email?"email@example.com"
版本操作
工作區有一個隱藏目錄 .git叫做Git的版本庫,這里存了很多東西,其中最重要的稱為stage(或index) 的暫存區,還有Git為我們自動創建的第一個分支master,以及指向master的一個指針叫做HEAD。相應的圖示如下圖所示:
則將文件往Git版本庫添加時,分兩步執行:
第一步用git add把文件添加進去,實際上就是把文件修改提交到暫存區;
第二步是用git commit提交修改,實際上就是把暫存區的所有內容提交到當前分支。
注:因為我們創建Gir版本庫時,Git自動為我們創建了唯一一個master分支,現在的git commit就是往master分支上提交更改。在我們每次修改后,如果不用git add到暫存區,那就不會加入到commit中。
撤銷修改
當我們修改文件后,在沒提交前,如果想刪除不需要的文件,就可以直接進行刪除后,利用git status查看,可以利用git checkout – file在工作區的修改全部撤銷,有兩種情況:
一種是notes.md自修改后就沒有被放在暫存區,現在撤銷修改就回到和版本一模一樣的狀態;
一種是notes.md已經添加到暫存區后,又做了修改,現在撤銷修改就回到添加到暫存區后的狀態。
總之就是讓這個文件回到最近一次git commit或git add時的狀態。
注:git checkout – file命令中的 – 很重要,沒有 – 就變成了“切換到另一個分支”的命令,后面分支管理會介紹。
如果你現在修改后已經通過git add到暫存區該咋辦呢?利用git status查看后,Git告訴我們可以利用 git reset HEAD 把暫存區的修改撤銷掉(unstage),重新放回工作區:
1git?reset?HEAD?notes.md接下來利用命令git checkout – notes.md丟棄對工作區的修改,這樣就完成了。
刪除文件
當我們添加一個新文件到Git并且提交后,如果想刪除文件直接在文件管理器中把沒用的文件刪除或者用rm命令進行刪除,此時工作區和版本庫就不一致了,然后利用命令git rm刪除,并且git commit后,文件就從版本庫刪除了!
1git?rm?test.txt2git?commit?-m?"remove?test.txt"
遠程倉庫
注冊Github賬戶,就可以免費獲得Git遠程倉庫,然而由于本地Git倉庫和Github倉庫之間的傳輸通過SSH加密的,因此需要設置:
第一步:創建SSH Key
1ssh-keygen?-t?rsa?-C?"youremail@example.com"接下來一路回車,使用默認值即可,一切完成后就在用戶主目錄下有個 .ssh目錄,里面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對。
第二步:登陸Github,打開“Account settings",“SSH Keys"頁面,然后點”Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內容,這樣就可以在GitHub上免費托管的Git倉庫。
注:GitHub允許添加多個Key
添加遠程庫
通過上面的步驟在本地創建了一個Git倉庫后,又在GitHub創建了一個Git倉庫,并且讓這兩個倉庫進行遠程同步,這樣GitHub上的倉庫既可以作為備份,又可以讓其他人通過該倉庫來協作,真是一舉兩得。
首先,登陸GitHub,在右上角找到“Create a new repo"按鈕,創建一個新的倉庫:
填入Repository name,其他保持默認設置,點擊“Create repository",就成功創建了一個新的Git倉庫:
通過上面的信息GitHub告訴我們,可以從這個倉庫克隆出新的倉庫,也可以把一個已有的本地倉庫與之關聯,然后把本地倉庫的內容推送到GitHub倉庫。
通過上面的顯示,在本地倉庫運行下面的命令:
1git?remote?add?origin?https://github.com/edj19/Algorithms.git添加后,遠程庫的名字就是origin,這是Git默認的叫法,接下來就可以把本地庫的所有內容推送到遠程庫上:
1git?push?-u?origin?master把本地庫的內容推送到遠程,用git push命令,實際上就是把當前分支master推送到遠程。
注:由于遠程庫是空的,第一次推送master分支時,加上了 -u參數,Git不但把本地的master分支內容推送到遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送就可以簡化命令,采用下面的命令:
1git?push?origin?master從遠程庫克隆
我們可以將遠程庫利用下面命令克隆到本地庫:
1git clone https://github.com/edj19/Algorithms.git好了通過上面的介紹一個簡單的git操作以及與GitHub協作就整理的差不多,大家就可以愉快的學習了!!!!
原文鏈接:
https://blog.csdn.net/edj_13/article/details/104548375
【End】《原力計劃【第二季】-?學習力挑戰》正式開始!即日起至?3月21日,千萬流量支持原創作者,更有專屬【勛章】等你來挑戰推薦閱讀??微信七年「封鏈」史?傾家蕩產、隱私全無?獨家揭秘撞庫攻擊!
?Javascript函數之深入淺出遞歸思想,附案例與代碼!
?華為、阿里員工在聽的英語資源,即將過期,請自取?不看就虧系列!這里有完整的 Hadoop 集群搭建教程,和最易懂的 Hadoop 概念!| 附代碼
?智能合約編寫之Solidity的基礎特性
你點的每一個在看,我認真當成了喜歡總結
以上是生活随笔為你收集整理的git 修改分支名字_基础Git操作与GitHub协作吐血整理,收好!| 原力计划的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在Mac电脑中切换系统电脑如何切换窗
- 下一篇: 如何关闭或禁用Mac电脑内置摄像头如何关