碼農的好助手:版本管理工具git的使用


一、什么是github?

GitHub 是一個面向開源及私有軟件項目的托管平台,因為只支持 Git 作為唯一的版本庫格式進行托管,故名 GitHub。

GitHub 於 2008 年 4 月 10 日正式上線,除了 Git 代碼倉庫托管及基本的 Web 管理界面以外,還提供了訂閱、討論組、文本渲染、在線文件編輯器、協作圖譜(報表)、代碼片段分享(Gist)等功能。目前,其注冊用戶已經超過350萬,托管版本數量也是非常之多,其中不乏知名開源項目 Ruby on Rails、jQuery、python 等。
 
二、什么是git?
Git是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。 Git的讀音為/gɪt/。
Git是一個開源的分布式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。 Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。
 
三、git的使用及特點
分布式相比於集中式的最大區別在於開發者可以提交到本地,每個開發者通過克隆(git clone),在本地機器上拷貝一個完整的Git倉庫。
下圖是經典的git開發過程。
Git的功能特性:
從一般開發者的角度來看,git有以下功能:
1、從服務器上克隆完整的Git倉庫(包括代碼和版本信息)到單機上。
2、在自己的機器上根據不同的開發目的,創建分支,修改代碼。
3、在單機上自己創建的分支上提交代碼。
4、在單機上合並分支。
5、把服務器上最新版的代碼fetch下來,然后跟自己的主分支合並。
6、生成補丁(patch),把補丁發送給主開發者。
7、看主開發者的反饋,如果主開發者發現兩個一般開發者之間有沖突(他們之間可以合作解決的沖突),就會要求他們先解決沖突,然后再由其中一個人提交。如果主開發者可以自己解決,或者沒有沖突,就通過。
8、一般開發者之間解決沖突的方法,開發者之間可以使用pull 命令解決沖突,解決完沖突之后再向主開發者提交補丁。
從主開發者的角度(假設主開發者不用開發代碼)看,git有以下功能:
1、查看郵件或者通過其它方式查看一般開發者的提交狀態。
2、打上補丁,解決沖突(可以自己解決,也可以要求開發者之間解決以后再重新提交,如果是開源項目,還要決定哪些補丁有用,哪些不用)。
3、向公共服務器提交結果,然后通知所有開發人員。
優點:
適合 分布式開發,強調個體。
公共服務器壓力和數據量都不會太大。
速度快、靈活。
任意兩個開發者之間可以很容易的解決沖突。
離線工作。
缺點:
資料少(起碼中文資料很少)。
學習周期相對而言比較長。
不符合常規思維。
代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。
 
四、如何使用git管理github及常用命令
  1.登錄github網站https://github.com/注冊賬號(賬號,郵箱,密碼)
  2.下載git進行安裝https://git-scm.com/
  3.在本地倉庫目錄右擊鼠標選擇菜單Git Bash here打開git的命令窗口

  4.在命令窗口輸入命令git config --list查看配置,設置賬號和郵箱:

git config --global user.name "用戶名";

git config --global user.email "郵箱"

  5.使用git init命令創建本地倉庫(在當前文件夾使用可設置當前文件夾為本地倉庫),隱藏文件夾.git

  6.創建ssh-key連接遠程倉庫。

$ cd ~/.ssh檢查是否存在key,$ ssh-keygen -t rsa -C "郵箱"生成ssh-key文件。

  7.在github.com設置ssh-key。

  8.使用git連接github.com($ ssh -T git@github.com)

五、git常用命令

git config --global user.name

git config--list

ls //本目錄所有東西

cd Desktop //進入桌面

mkdir//創建文件夾 new_git

git init //創建本地倉庫

git add -A//放入暫存區

git add a.txt //放入暫存區

git commit -m"first commit"//放入倉庫區 “”中寫說明

git status//查看暫存區變動

git log//查看提交記錄

git push //提交


git clone //克隆,下載

git diff //添加忘記后查詢

git log --pretty=online //查看簡約版的提交記錄

git reset --hard HEAD ^^ //回退一個版本

git reset --hard ()版本號

git reflog //獲取版本號

git branch //查看分支

git checkout aaaa //切換分支

git git branch aaa //創建分支

git add -A

git commit -m"aaa"

git merge aaa//合並分支

git branch

git branch -d aaa

git remote -v//查看源

git remote add upstream 原作者地址 //添加原作者鏈接

git fetch upstream //

git merge upstream/master // 合並

id_sra。pub//要是

附件:

 GIT的使用方法

1.電腦首先安裝GIT,

2.在官網注冊GitHub賬號。

一,使用git在控制台進行本地操作

1.打開GitBash

2.填寫用戶名和郵箱作為標識分別執行以下命令:

git/ config /--global /user.name /"用戶名";

git /config /--global /user.email /"郵箱名";(注意"/"在這里代表空格,輸入完指令回車)

3.$/git/config/--list(輸入命令行)

會顯示輸入的用戶名和郵箱

4.用cd文件路徑找到別設為倉庫的文件夾

$/cd/某盤例D:/git/gitproject(前2個/空格)

5.然后輸入git init將文件設置成倉庫

$/git/init

此時在gitproject文件中多了一個隱藏文件夾.git

6.在倉庫中放入一個HTML文件,用模擬造作然后在控制台輸入git status查看在工作區是否有為轉到本地倉庫的文件

$/git/status (注意:默認為master分支,此時test.html為紅色字體)

當看到test.html為紅色字體時,證明文件做過修改,但是還沒有保存到暫存區。我們輸入git add test.html 然后在輸入git status查看,發現test.html變為綠色時,證明文件已經保存到暫存區。

$/git/add/test.html

$/git/status

注意:使用  git add 文件名       命令將文件保存到暫存區。然后輸入 git commit -m "備注信息"命令將該文件提交到本地倉庫。

$/git/commit/-m/"first"

$/git/status   (沒有提交,工作樹為空。)

此時文件夾中仍有文件。只是本次工作樹的操作提交給本地倉庫。次工作樹的內容跟本地倉庫存儲的內容一致。而不是將文件夾中的文件刪除。

7.向本地倉庫保存文件的步驟為:

git add 文件名————>  git  commmit -m "備注信息"

8.輸入$/git/log查看提交歷史版本回退命令為:

$/git/reset/--hard/89af

9.文件的找回與刪除

$/git checkout/--/"文件名"

$/git/status

刪除:

$/git/rm/"文件名"

刪除后用$/git/commmit/-m/"remove/文件名"備注起來。

 

二,與遠程倉庫鏈接

登錄GitHub賬號

1.配置GitHub密碼鑰匙

打開GitHub輸入$/cd/-/空格.ssh查看是否存在密匙

2.如果沒有密匙,則輸入$/ssh-keygen/-t/rsa/-c/"郵箱地址"  創建密匙   有的話直接回車

3.找到文件,打開PUb文件復制里面的內容。打開GitHub網站,點擊右上角綠色小塊的Settings進去

4.點擊SSH and GPG keys ,然后點擊New SSH key,進入以后找到Title框為空,將密匙復制Key文本框中,最后點擊Add SSH key,顯示密匙關聯成功。

5.輸入  $/ssh/T/git@github.com   點擊GIt網站中右上角的加號,創建網絡倉庫,再選Newrepository,然后輸入倉庫名 $/git/remote/add/origin/git@github.com:AlexanderLeading反斜杠Study.git

6.$/git/push/-u/origin/master   進入遠程倉庫看一下結果  點擊You profile  在Study中多了文件最終上傳成功。

三, 創建分支

分支:就是沒有完成的作品,分多次完成,最后合並到原來分支上。

1.輸入$/git/checkout/-b/dev  創建一個dev開支

$/git/branch查看現有分支

2.輸入 $/git/checkout/master  切回分支查看文件內容

3.如果項目完成可以輸入  $/git/branch/-d/dev   

$/git/branch  刪除成功,只剩master分支。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM