git介紹
什么是git
git是一種版本控制器 - 控制的物件是開發的專案代碼
什么是版本控制器
完成 協同開發 專案,幫助程式員整合代碼
i)幫助開發者合并開發的代碼
ii)如果出現沖突代碼的合并,會提示后提交合并代碼的開發者,讓其解決沖突
軟體:SVN 、 GIT(都是同一個人的個人專案)
github、gitee(兩個采用git版本控制器管理代碼的公共平臺)
git特點:集群化、多分支
git與svn比較


git的作業流程

版本庫間的通信

git分支管理(重點)

git的使用
安裝
安裝網址:https://git-scm.com/download/win
直接下一步安裝即可!
git的基礎命令
將已有的檔案夾 - 初始化為git倉庫
>: cd 目標檔案夾內部
>: git init
或者
>: git init 檔案夾名
>: git init (不加表示將當前路徑下全部初始化管理)
查看倉庫狀態
# 當倉庫中有檔案增加、洗掉、修改,都可以在倉庫狀態中查看
>: git status
-- 查看倉庫狀態
>: git status -s
-- 查看倉庫狀態的簡約顯示
將作業區內容提交到暫存區
>: git add .
-- 添加專案中所有檔案
>: git add 檔案名
-- 添加指定檔案
撤銷暫存區提交:add的逆運算(很少使用)
>: git reset HEAD .
-- 撤銷所有暫存區的提交
>: git reset 檔案名
-- 撤銷某一檔案的暫存區提交
>: git reset .
-- 撤銷所有暫存區的提交
提交暫存區內容到版本庫
>: git commit -m "版本描述資訊"
一定要加版本描述資訊,不然報錯
注:提交之前一定要先設定全域或者區域用戶
在倉庫目錄終端下 - 設定全域用戶
>: git config --global user.name '用戶名'
>: git config --global user.email '用戶郵箱'
注:在全域檔案 C:\Users\用戶檔案夾\.gitconfig新建用戶資訊,在所有倉庫下都可以使用
在倉庫目錄終端下 - 設定區域用戶
>: git config user.name '用戶名'
-- 用戶名
>: git config user.email '用戶郵箱'
-- 用戶郵箱
注:在當前倉庫下的config新建用戶資訊,只能在當前倉庫下使用
注:一個倉庫有區域用戶,優先使用區域用戶,沒有配置再找全域用戶
撤銷作業區操作:改、刪(了解)
>: git checkout .
-- 撤銷所有暫存區的提交
>: git checkout 檔案名
-- 撤銷某一檔案的暫存區提交
撤銷版本庫提交:commit的逆運算
回滾暫存區已經提交到版本庫的操作:
查看歷史版本:
>: git log
>: git reflog
查看時間點之前|之后的日志:
>: git log --after 2018-6-1
>: git log --before 2018-6-1
>: git reflog --after 2018-6-1
>: git reflog --before 2018-6-1
查看指定開發者日志
>: git log --author author_name
>: git reflog --author author_name
回滾到指定版本:
回滾到上一個版本:
>: git reset --hard HEAD^
>: git reset --hard HEAD~
回滾到上三個版本:
>: git reset --hard HEAD^^^
>: git reset --hard HEAD~3
回滾到指定版本號的版本:
>: git reset --hard 版本號 (重點)
>: eg: git reset --hard 35cb292
版本號可以通過git log 查看到
過濾檔案
過濾檔案的意思是指定某些檔案或者檔案夾不被git管理
# .gitignore 檔案
# 1)在倉庫根目錄下創建該檔案
# 2)檔案與檔案夾均可以被過濾
# 3)檔案過濾語法
""" 過濾檔案內容
檔案或檔案夾名:代表所有目錄下的同名檔案或檔案夾都被過濾
/檔案或檔案夾名:代表倉庫根目錄下的檔案或檔案夾被過濾
eg:
a.txt:專案中所有a.txt檔案和檔案夾都會被過濾
/a.txt:專案中只
有根目錄下a.txt檔案和檔案夾會被過濾
/b/a.txt:專案中只有根目錄下的b檔案夾下的a.txt檔案和檔案夾會被過濾
*x*:名字中有一個x的都會被過濾(*代表0~n個任意字符)
空檔案夾不會被提交,空包會被提交,包可以被提交(包中有一個init空檔案)
git的多分支開發
1.創建分支
>: git branch 分支名
2.查看分支
>: git branch
3.切換分支
>: git checkout 分支名
4.創建并切換到分支
>: git checkout -b 分支名
5.洗掉分支
>: git branch -d 分支名
6.查看遠程分支
>: git branch -a
7.合并分支
>: git merge 分支名
把dev分支合并到master分支:切換到master分支,執行合并dev分支的命令
"""
"""
1)多個開發者都是在一個分支上進行開發,不出意外,該分支一定叫dev(協同開發)
2)如果出現一個特殊任務(敏感任務),與正常業務關系不緊密,甚至可能大的影響正常的dev分支開發,可以依賴dev開一個子分支,進行開發,開發完畢后合并到dev分支,再洗掉該分支即可
3)所有的開發任務都可以在dev分支上進行(除非公司硬性要求不能直接在dev分支開發,只能在dev子分支開發,測驗通過后才能合并給dev)
git遠程開發
"""
1)你作為專案倉庫初始化人員:
線上要創建空倉庫 => 本地初始化好倉庫 => 建立remote鏈接(remote add) => 提交本地倉庫到遠程(push)
2)你作為專案后期開發人員:
遠程專案倉庫已經創建成功 => 復制遠程倉庫到本地(clone) => 進入倉庫就可以進行接下來的開發
"""
測驗:自己創建空倉庫

如何連接遠程倉庫

remote源操作
1)查看倉庫已配置的遠程源
>: git remote
>: git remote -v
2)查看remote命令幫助檔案
>: git remote -h
3)洗掉遠程源
>: git remote remove 源名
eg: git remote remove origin
4)添加遠程源
>: git remote add 源名 源地址
>: git remote add orgin [email protected]:doctor_owen/luffyapi.git
5)提交代碼到遠程源
>: git push 源名 分支名
(需要輸入用戶名和密碼就是遠程倉庫的賬號和密碼)你之前在自己機器上存的需要到控制面板--用戶--管理windows憑據中刪掉
6)克隆遠程源
>: git clone 遠程源地址
7)更新本地庫
git pull origin master(分支名)
"""
"""
1)通過克隆方式連接遠程源,默認遠程源名就叫origin;所以主動添加遠程源來連接遠程倉庫,原始碼也用origin
2)本地一個倉庫只需要和遠程一個源進行同步,所以只需要連接一個遠程源,如果還想把本地代碼同步給第三個平臺,那么可以通過主動添加遠程源來連接第三個平臺的遠程倉庫,此時的原始碼就不能再叫origin了,比如online都可以
3)pull和push都可以提供選擇不同的原始碼,和不同的遠程倉庫互動
重點:每次向遠程庫提交代碼時,一定要先更新代碼,就是把遠程庫先拉下來一下,再提交,如果不拉就提交不上去
使用ssh和https連接遠程庫
# 1 公司內部大部分用ssh連接遠程庫
-領導給你一個git地址(專案地址)
-你 一般先git clone 地址 到本地
-改代碼,改完了---》提交(沒有密碼賬戶都禁止)
-改用ssh配置,以后都不用輸密碼了
# 2 配置如何做
先了解對稱加密和非對稱加密
-對稱加密(加密和解密用同一套秘密)
-非對稱加密(公鑰和私鑰),公鑰加密,私鑰解密
-生成一對公鑰和私鑰(用命令)
-https://gitee.com/help/articles/4181 詳情操作查看這個鏈接
-ssh-keygen -t rsa -C "[email protected]"(郵箱可以隨便填) 生成到用戶家目錄的.ssh檔案夾下(一個公鑰,一個私鑰)
-把公鑰復制出來,再碼云上配置
# 跟遠程操作有三個命令
git pull
git push
-git feacth(一般不用,他跟pull是一個東西,當作不知道)

pycharm連接git
1.安裝git
2.在pycharm中的settings里的git配置好git.exe的地址
3.pycharm中git里進行對應的操作

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/523889.html
標籤:其他
上一篇:資料結構基礎—陣列和廣義表
