1. 程式人生 > 其它 >微信公眾平臺開發獲取使用者基本資訊--轉

微信公眾平臺開發獲取使用者基本資訊--轉

1、git介紹

git功能

git:程式碼版本管理工具,是一款軟體,同類型的還有svn,但是用得人較少

  -版本管理
  -合併程式碼
  -衝突解決

git與svn比較

git:分散式管理---》每個客戶端都能完成版本管理的功能
svn:集中式管理---》所有程式碼都放在服務端,版本管理由服務端完成(過時了)

git,github,gitee,gitlab分別是什麼

# Git:是一種版本控制系統,是一個命令,是一種工具。

# GitHub:是一個基於Git實現的線上程式碼託管倉庫,包含一個網站介面,向網際網路開放,公有倉庫免費,部分私有倉庫收費,全球最大的開原始碼託管平臺,git的遠端倉庫
# GitLab:是一個基於Git實現的線上程式碼倉庫託管軟體,可以通過GitLab自己搭建一個類似於GitHub一樣的系統,用在企業內部網路搭建Git私服,用於企業團隊內部協作開發,公司內部的github # Gitee:(碼雲) 是 OSCHINA 推出的程式碼託管平臺,支援 Git 和 SVN,提供免費的私有倉庫託管,面向網際網路開發,分免費和付費,中國最大的開原始碼託管平臺,中國版的github,為中國的開源軟體事業,貢獻自己的一份力量

2、git安裝

傻瓜式安裝一路下一步,其他都不用選

# win:下載
https://git-scm.com/download
  
# mac下載:
https://github.com/timcharper/git_osx_installer/releases/download/2.2.1/git-2.2.1-intel-universal-mavericks.dmg

桌面點選右鍵出現此圖示即為安裝成功

 

3、git工作流程

# 本地分三個區:工作區,暫存區,版本庫---->工作流程指的就是三個區的來回操作
# 工作區檔案變化         操作問題
# 工作區提交到暫存區     git add .
# 暫存區提交到版本庫     git commit -m '註釋'
# 版本庫退回工作區沒有更改的時候  git reset --hard 版本號

"""
1)有紅色資訊(工作區有內容),就執行 add 
2)全綠資訊(內容全部在暫存區),才執行 commit
3)只有被版本庫控制的程式碼,才能被監聽,所以可以回滾到任何一個版本
"""

4、git常用命令

配置使用者資訊

配置全域性使用者資訊
# 以後所有資料夾再提交到版本庫顯示的就是這個名字,所有的都顯示這個名字
# 配置的資訊寫到了使用者家路徑的 .gitconfig中
git config --global user.name 'long'
git config --global user.email '[email protected]'

配置區域性使用者資訊
# 當前資料夾以後再提交到版本庫顯示的就是這個名字、
# 配置的資訊寫在了倉庫(gittest資料夾)路徑下的 .git資料夾下的config檔案
git config user.name 'liuqingzheng'
git config user.email '[email protected]'

命令

# 1  初始化倉庫,會在當前資料夾下創建出一個.git的隱藏資料夾,git配置,版本資訊在裡面
git init  

# 2 檢視狀態--》紅色,綠色,沒有---》新增,修改,刪除--》變紅
git status

# 3 把工作區變化提交到暫存區---》變綠色
git add .   # . 表示當前路徑下所有變更

# 4 把暫存區提交到版本庫 ---》從綠變無色
git commit -m '註釋'

# 5 檢視版本庫的版本資訊
git log  # 檢視版本資訊,顯示詳細資訊,變化記錄的少
git reflog  # 檢視版本資訊,顯示簡略資訊,變化都會記錄

# 6 工作區回退到某個版本
# 7c419c9934c60841cfcada07a7a9111081b58617  # 版本號
git reset --hard 7c419c9934  
git reset --hard 0a5dbb0

# 7 其他,不需要太瞭解,基本不用
git checkout .  # 把工作區變化撤銷
git reset HEAD  # 把暫存區拉回到工作區(綠變紅)

# 注意 :
.git資料夾做了記錄,不能刪除,如果刪除,版本的記錄也就沒了
空資料夾不會被版本管理

5、過濾檔案

在咱們的專案中,有一些檔案/資料夾不希望被git版本管理,對此我們可以寫一個過濾檔案

# 1 在倉庫路徑下(被git管理的資料夾),建立一個 .gitignore 的檔案,在檔案中寫入忽略
# 2 檔案與資料夾均可以被過濾
# 3 檔案過濾語法

過濾檔案內容/語法

檔案或資料夾名:代表所有目錄下的同名檔案或資料夾都被過濾
/檔案或資料夾名:代表倉庫根目錄下的檔案或資料夾被過濾

舉例:
a.txt:專案中所有a.txt檔案和資料夾都會被過濾
/a.txt:專案中只有根目錄下a.txt檔案和資料夾會被過濾
/b/a.txt:專案中只有根目錄下的b資料夾下的a.txt檔案和資料夾會被過濾
*x*:名字中有一個x的都會被過濾(*代表0~n個任意字元)
空資料夾不會被提交,空包會被提交,包可以被提交(包中有一個init空檔案)

專案前臺過濾檔案

前臺專案自帶過濾檔案
#專案前臺使用vue腳手架搭建
# vue create 建立過程中很慢,原因就是從github上拉了一個空專案,改了一下名字,所以,它裡面有git的版本管理(.git隱藏資料夾)

後端專案過濾檔案

# 後端專案的.gitignore
.idea  # 使用pycharm作為IDE時,自動生成的資料夾,用於存放專案的控制資訊
__pycache__  # 忽略所有__pycache__ 資料夾,它是.pyc檔案的資料夾
*.pyc  # 為提高響應速度,cpython會在執行一次檔案後,建立.pyc結尾的相同檔案,如果專案無變化,下次直接以此檔案執行專案
logs/*.log  # 忽略日誌資料夾下的日誌檔案
scripts  # 忽略指令碼檔案

 6、分支操作

git 可以建立多條分支,建立完以後,在不通分支上提交版本,不通分支的版本相互不影響

master 主分支

dev 開發分支

注意:分支合併可能會出衝突,原因是master改了東西提交了,dev改了東西提交了,他們改的是同一個程式碼,合併就會出衝突

# 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分支的命令

7、git遠端倉庫

1 建立遠端空倉庫

# 遠端倉庫
第三方:gitee,github,bitbucket
自己搭建:gitlab

我們把本地版本庫中的程式碼提交到遠端倉庫,多人合作都可以提交,最後完成程式碼合併,協同開發

如果公司中用gitee,都是用私有倉庫,不要把公司程式碼做成公有倉庫

我的課程案例是傳到gitee遠端倉庫(需註冊‘’):https://gitee.com/
如果到了公司裡使用的是gitlab,所有操作完全一致,只是遠端地址不一樣

2 原生代碼提交到遠端倉庫

# 第一步:在遠端建立一個空倉庫

# 第二步:操作步驟

# 1 全域性設定(已設定可以忽略)
git config --global user.name "liuqingzheng"
git config --global user.email "[email protected]"

# 2.1 情況一:原來連本地倉庫都沒有
mkdir luffy_api  # 建立luffy_api資料夾
cd luffy_api‘  # 切換到luffy_api資料夾
git init  # 初始化本地倉庫,可以被git管理
touch README.md  # 本地倉庫建立readme檔案
git add README.md  # 從工作區提交readme檔案到暫存區
git commit -m "first commit"  # 從暫存區提交readme檔案到版本庫

(但是這些操作在之前已經做過,所以可以直接從下面開始,這也是情況二的步驟)

git remote add origin https://gitee.com/liuqingzheng/luffy_api.git # 新增一個遠端倉庫(利用http連線)
git push origin master # 把本地倉庫推到遠端

# 2.2 情況二:原來本地有倉庫
cd 目錄
git remote add origin https://gitee.com/liuqingzheng/luffy_api.git
git push origin master

3 remote源操作

# 1 檢視遠端倉庫
git remote 

#2  新增遠端倉庫(利用http方式)
# git remote add 起一個名字 遠端倉庫地址
git remote add origin https://gitee.com/liuqingzheng/luffy_api.git

# 3 刪除遠端倉庫
git remote remove origin

#4  把本地倉庫提交到遠端倉庫
# git push 遠端倉庫名字 分支名
# 第一次:要輸入使用者名稱密碼,只要輸入一次,以後就記錄到作業系統上了
# win:控制面板-使用者賬戶-憑證管理器--》使用者密碼可以在這裡更新或刪除(詳細見下圖)
# mac:鑰匙串---》搜
git push origin master  

#5  從遠端倉庫更新程式碼
# git pull 遠端倉庫名字 分支名
git pull origin master  # 協同開發---》張三提交了程式碼到遠端---》你要拉下來,把張三程式碼合併到你的本地

### 注意點:
在公司裡,沒事就git pull 一下,拉取程式碼的頻率高,出現衝突的概率就小

寫了一個星期程式碼,從來沒有拉過,你也改了s1.py   s5.py
這一個星期張三,李四王五,分別改了s1.py  s2.py  s3.py
你一提交---》多人在同一條分支上開發程式碼出現的衝突,出衝突了,需要解決衝突



##### 這幾個會經常敲
git add .
git status
git commit -m
git pull origin master
git push origin master

 

4 ssh連線

# 剛剛咱們用的是https的連線方式,需要輸入使用者名稱密碼
# 想使用ssh的連線方式,採用非對稱加密的方式實現(不聊),需要公鑰和私鑰--》把公鑰配置到遠端機器,私鑰自己留著---》我和遠端機器就可以安全通訊

# 本地生成一對祕鑰:公鑰和私鑰
# ssh-keygen -t ed25519 -C "郵箱/電話號碼" 
ssh-keygen -t ed25519 -C "[email protected]" 
一路回車,就會在使用者家路徑的.ssh資料夾下生成一對公鑰和私鑰
把公鑰配置到gitee上(gitlab,github) (看下面兩張圖)


# 以後不需要輸使用者名稱密碼,可以安全通訊,pull,push程式碼沒有任何阻礙


######### 遠端倉庫地址要變 ,原來是https的,現在變成ssh的連線
git remote remove origin  # 先刪除原來的遠端倉庫連線
git remote add origin [email protected]:liuqingzheng/luffy_api.git  # 再利用ssh連線遠端倉庫(ssh連結地址見下圖)
  
git push oringin master  # 再提交到分支

### 注意:
你的一個gitee賬號,可以配置多個ssh公鑰,如果你配置了多個ssh公鑰,意味著有多臺機器可以免密操作倉庫
公司裡ssh用的多
你到了公司,公司會給你gitlab賬號和密碼,地址,你要在本地生成ssh公鑰和私鑰,配置到你的gitee,gitlab上

公鑰私鑰儲存位置:

gitee配入公鑰:

ssh連線地址:

5 協同開發

# 多人操作同一個倉庫,多人寫同一個專案
# 剛到公司,一般情況下,你會被新增為該倉庫的觀察者,你目前只能看,不能改,刪
# 但是也有的公司直接給你開發者許可權---》直接修改提交程式碼就行了

# 你們是開發者,第一次要clone程式碼
git clone https://gitee.com/liuqingzheng/luffy_api.git
  
# 開發者可以修改並提交程式碼,沒有人稽核---》這個過程中可能會出衝突

pycharm圖形化介面操作