git是一種版本控制器 - 控制的對象是開發(fā)的項目代碼
海北州網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,海北州網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為海北州1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的海北州做網(wǎng)站的公司定做!
完成 協(xié)同開發(fā) 項目,幫助程序員整合代碼
i)幫助開發(fā)者合并開發(fā)的代碼
ii)如果出現(xiàn)沖突代碼的合并,會提示后提交合并代碼的開發(fā)者,讓其解決沖突
軟件:SVN 、 GIT(都是同一個人的個人項目)
github、gitee(兩個采用git版本控制器管理代碼的公共平臺)
git特點:集群化、多分支
安裝網(wǎng)址:https://git-scm.com/download/win
直接下一步安裝即可!
>: cd 目標文件夾內(nèi)部
>: git init
或者
>: git init 文件夾名
>: git init (不加表示將當前路徑下全部初始化管理)
# 當倉庫中有文件增加、刪除、修改,都可以在倉庫狀態(tài)中查看
>: git status
-- 查看倉庫狀態(tài)
>: git status -s
-- 查看倉庫狀態(tài)的簡約顯示
>: git add .
-- 添加項目中所有文件
>: git add 文件名
-- 添加指定文件
>: git reset HEAD .
-- 撤銷所有暫存區(qū)的提交
>: git reset 文件名
-- 撤銷某一文件的暫存區(qū)提交
>: git reset .
-- 撤銷所有暫存區(qū)的提交
>: git commit -m "版本描述信息"
一定要加版本描述信息,不然報錯
注:提交之前一定要先設(shè)置全局或者局部用戶
>: git config --global user.name '用戶名'
>: git config --global user.email '用戶郵箱'
注:在全局文件 C:\Users\用戶文件夾\.gitconfig新建用戶信息,在所有倉庫下都可以使用
>: git config user.name '用戶名'
-- 用戶名
>: git config user.email '用戶郵箱'
-- 用戶郵箱
注:在當前倉庫下的config新建用戶信息,只能在當前倉庫下使用
注:一個倉庫有局部用戶,優(yōu)先使用局部用戶,沒有配置再找全局用戶
>: git checkout .
-- 撤銷所有暫存區(qū)的提交
>: git checkout 文件名
-- 撤銷某一文件的暫存區(qū)提交
回滾暫存區(qū)已經(jīng)提交到版本庫的操作:
查看歷史版本:
>: 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
查看指定開發(fā)者日志
>: 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)在倉庫根目錄下創(chuàng)建該文件
# 2)文件與文件夾均可以被過濾
# 3)文件過濾語法
""" 過濾文件內(nèi)容
文件或文件夾名:代表所有目錄下的同名文件或文件夾都被過濾
/文件或文件夾名:代表倉庫根目錄下的文件或文件夾被過濾
eg:
a.txt:項目中所有a.txt文件和文件夾都會被過濾
/a.txt:項目中只
有根目錄下a.txt文件和文件夾會被過濾
/b/a.txt:項目中只有根目錄下的b文件夾下的a.txt文件和文件夾會被過濾
*x*:名字中有一個x的都會被過濾(*代表0~n個任意字符)
空文件夾不會被提交,空包會被提交,包可以被提交(包中有一個init空文件)
1.創(chuàng)建分支
>: git branch 分支名
2.查看分支
>: git branch
3.切換分支
>: git checkout 分支名
4.創(chuàng)建并切換到分支
>: git checkout -b 分支名
5.刪除分支
>: git branch -d 分支名
6.查看遠程分支
>: git branch -a
7.合并分支
>: git merge 分支名
把dev分支合并到master分支:切換到master分支,執(zhí)行合并dev分支的命令
"""
"""
1)多個開發(fā)者都是在一個分支上進行開發(fā),不出意外,該分支一定叫dev(協(xié)同開發(fā))
2)如果出現(xiàn)一個特殊任務(wù)(敏感任務(wù)),與正常業(yè)務(wù)關(guān)系不緊密,甚至可能大的影響正常的dev分支開發(fā),可以依賴dev開一個子分支,進行開發(fā),開發(fā)完畢后合并到dev分支,再刪除該分支即可
3)所有的開發(fā)任務(wù)都可以在dev分支上進行(除非公司硬性要求不能直接在dev分支開發(fā),只能在dev子分支開發(fā),測試通過后才能合并給dev)
"""
1)你作為項目倉庫初始化人員:
線上要創(chuàng)建空倉庫 => 本地初始化好倉庫 => 建立remote鏈接(remote add) => 提交本地倉庫到遠程(push)
2)你作為項目后期開發(fā)人員:
遠程項目倉庫已經(jīng)創(chuàng)建成功 => 復(fù)制遠程倉庫到本地(clone) => 進入倉庫就可以進行接下來的開發(fā)
"""
測試:自己創(chuàng)建空倉庫
如何連接遠程倉庫
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 git@gitee.com:doctor_owen/luffyapi.git
5)提交代碼到遠程源
>: git push 源名 分支名
(需要輸入用戶名和密碼就是遠程倉庫的賬號和密碼)你之前在自己機器上存的需要到控制面板--用戶--管理windows憑據(jù)中刪掉
6)克隆遠程源
>: git clone 遠程源地址
7)更新本地庫
git pull origin master(分支名)
"""
"""
1)通過克隆方式連接遠程源,默認遠程源名就叫origin;所以主動添加遠程源來連接遠程倉庫,源碼也用origin
2)本地一個倉庫只需要和遠程一個源進行同步,所以只需要連接一個遠程源,如果還想把本地代碼同步給第三個平臺,那么可以通過主動添加遠程源來連接第三個平臺的遠程倉庫,此時的源碼就不能再叫origin了,比如online都可以
3)pull和push都可以提供選擇不同的源碼,和不同的遠程倉庫交互
重點:每次向遠程庫提交代碼時,一定要先更新代碼,就是把遠程庫先拉下來一下,再提交,如果不拉就提交不上去
# 1 公司內(nèi)部大部分用ssh連接遠程庫
-領(lǐng)導(dǎo)給你一個git地址(項目地址)
-你 一般先git clone 地址 到本地
-改代碼,改完了---》提交(沒有密碼賬戶都禁止)
-改用ssh配置,以后都不用輸密碼了
# 2 配置如何做
先了解對稱加密和非對稱加密
-對稱加密(加密和解密用同一套秘密)
-非對稱加密(公鑰和私鑰),公鑰加密,私鑰解密
-生成一對公鑰和私鑰(用命令)
-https://gitee.com/help/articles/4181 詳情操作查看這個鏈接
-ssh-keygen -t rsa -C "lqz@qq.com"(郵箱可以隨便填) 生成到用戶家目錄的.ssh文件夾下(一個公鑰,一個私鑰)
-把公鑰復(fù)制出來,再碼云上配置
# 跟遠程操作有三個命令
git pull
git push
-git feacth(一般不用,他跟pull是一個東西,當作不知道)
1.安裝git
2.在pycharm中的settings里的git配置好git.exe的地址
3.pycharm中g(shù)it里進行對應(yīng)的操作