1. 程式人生 > >GIT私服搭建及GIT的使用

GIT私服搭建及GIT的使用

搭建git私服

安裝軟體git,percona資料庫

yum install git
tar xvf Percona.tar 
yum install shared, server, client
ps aux | grep mysql  # 檢視程序
service mysql start 
chkconfig mysql on
mysql_secure_installation   # mysql配置   
useradd git
su - git
cd gogs
mysql -u root -p < scripts/mysql.sql   # 建立gogs的庫
grant all on gogs.* to 'gogs'@'%' identified by 'gogs';  # 給gogs庫建立mysql使用者gogs,並授權
flush privileges;  # 使使用者許可權生效

配置gogs

vim gogs/custom/conf/app.ini

APP_NAME = gogs
RUN_USER = git
RUN_MODE = dev         
[server]
HTTP_ADDR = 0.0.0.0
HTTP_PORT = 3000

[database]
DB_TYPE = mysql
HOST = 127.0.0.1:3306
NAME = gogs
USER = gogs
PASSWD = gogs

[security]
INSTALL_LOCK = false
SECRET_KEY = www

啟動伺服器
./gogs web使用git使用者在gogs目錄下建一個log目錄,否則啟動不了,
配置預設啟動

    # root使用者
    cp /home/git/gogs/scripts/init/centos/gogs /etc/init.d/
    chmod +x /etc/init.d/gogs
    chkconfig gogs on  
    chkconfig --list gogs       #centos 7檢視
    service gogs start
    ss -tanl
    ps aux | grep gogs

登陸
install 修改域名,應用URL,yum install git
gogs圖片載入慢,在app.ini中禁用gravatar服務
重啟gogs服務service gogs reload

使用GIT

remote: 遠端倉庫
repository: 倉庫,本地版本庫
workspace: 工作區
staging area: 暫存區staging area, 索引index

workspace–add–>stage–commit–>repository–push–>remote
remote–clone–>wlorkspace
remote–pull–>repository,workspace

檔案分類: untracked, tracked, ignored

基本命令

git init: 初始化版本庫.git目錄
git add .: 遞迴暫存所有檔案,untracked狀態 -> tracked. 目錄需要加/.
.gitignore檔案: git倉庫忽略的檔案,目錄以/結尾,行起始是!就是取反, #添加註釋
https://github.com/github/gitignore/blob/master/Python.gitignore
git commit [file][-a] -m "First Commit": modified files must be added,才能commit,加-a可以直接提交modified files
git commit --amend: 追加到上一次commit中commit
git --dry-run: 獲得下一次可以commit的提醒

檢視

git status: 檢視狀態,獲得輸入提醒
git log: commit log
git reflog: 列出所有對commit的操作

比較

git diff: diff between workspace and Index
git diff HEAD: diff between workspace and HEAD
git diff --cached:dif between Index and HEAD
HEAD^,HEAD^^,..,HEAD~n: 相對HEAD, 前幾個commit

檢出

git checkout: index->workspace列出可檢出的檔案
git checkout file: index -> workspace,覆蓋workspace檔案
git checkout branchname/commit_uuid: 切換分支, 檢出提交
git checkout commit_uuid file: 檢出指定commit的指定檔案到index and workspace,覆蓋檔案,.代表所有檔案
git checkout -b branchname: 建立分支
git branch: 列出現有分支

重置

git reset [--hard] [--keep] [commit] [file]
重置當前分支HEAD為[指定commit]預設HEAD,[指定檔案]預設所有檔案到index,workspace不變
--hard同時重置workspace, 等價於git checkout commit
--keep表示index和workspace都不變,只重置HEAD
git reset HEAD file 等價於 git rm –cached file

移動和刪除

git mv src dest:
git rm [--cached] file: remove from workspace and index[only index]

配置本地使用者名稱和郵箱

git config --global user.name "name"
git config --global user.email "[email protected]"
儲存在~/.gitconfig,是使用者級別配置檔案, –global
/etc/git/gitconfig,是系統配置檔案, –system
.git/config,是倉庫特有配置檔案

關聯遠端版本庫

git remote add origin http://username:[email protected]
http協議,origin是習慣用法,將建立origin和後面url的對映,儲存在.git/config

推送資料, repository->remote

git push:將本地的更新推送到遠端主機;
git push <遠端主機名> <本地分支名>:<遠端分支名>
git push -u origin master:-u第一次加,以後不用加

免密登入:

ssh-keygen -t rsa -C "[email protected]"
先刪除當前使用者.ssh資料夾, 執行命令, 生成私鑰和公鑰, 使用者設定ssh金鑰, 將公鑰匯入
[email protected]:adm/mapy.git
使用ssh協議, 免密登入

克隆,獲取更新, 先配置本地使用者名稱,郵箱

git config --global user.name/email "name/email"
git clone ssh_url
git fetch:取回遠端伺服器的更新;
git pull:取回遠端伺服器更新,而後與本地的指定分支合併;
git pull <遠端主機名> <遠端分支名>:<本地分支名>
git pull origin dev: 表示fetch origin 的dev分割槽到當前目錄,並與當前分支合併
相當於git fetch origin dev && merge origin dev
git pull origin dev:masterfetch origin 的dev分割槽,並和master合併

合併

無衝突合併:
git checkout master
git status
git merge BRANCH_NAME
有衝突合併:
手動解決衝突
解決完成之後:
git add
git commit

Pycharm中git的使用
git stash: 還原最後一次commit的狀態(需要有commit)
git stash pop: 從stash中pop儲存的變化
merge合併
No fast forward: 保留branch
fast forward: 不保留branch

相關推薦

GIT搭建GIT的使用

搭建git私服 安裝軟體git,percona資料庫 yum install git tar xvf Percona.tar yum install shared, server, client

Maven 搭建破解使用入門教程

Nexus下載 :https://blog.sonatype.com/   或下載我分享的 https://pan.baidu.com/s/1mEwkrTfg0dp3D7gJSEvueA 解壓:   破解: 將 &

Nexus搭建本地jar管理

環境準備與搭建 本地需要首先搭建好maven環境,在此基礎之上 下載nexus的檔案到本地,解壓後如圖顯示 修改nexus的配置檔案D:\worksoftware\nexus\nexus-2.11.4-01\conf\nexus.properties

關於android studio上maven搭建

1.首先jdk等必須的環境,maven在studio中自帶不需要下載配置 3.開啟目錄nexus-2.4.0-09-bundle\nexus-2.4.0-09\bin\jsw這個目錄下面你會發現有很多系統版本的nexus環境    我的電腦是win7 (64)為的

Nexus搭建settings.xml配置詳細教程

配置: centos 7 安裝流程如下: # useradd nexus # passwd nexus $ su nexus $ cd $ wget nexus-3.12.1-01-unix.tar.gz && mkdir nexus3

搭建git

使用gitbucket開源專案搭建git私服非常簡單。 專案地址:https://github.com/gitbucket/gitbucket 搭建環境: 1、ubuntu16.04 64位 2、jdk1.8 3、gitbucket4.18 下載地址 https://gi

Gogs搭建git-windows版

Gogs搭建git私服-windows版 在程式碼的世界裡,github應該是家喻戶曉了,那麼想不想在自己的電腦上搭建一套類似的服務供自己工作和學習使用呢。答案是肯定的。 Gogs就是一款開源免費的產品,而且是一個精品,話不多說,搭建開始 第一步、下載我們需要的Gogs軟體 官方

maven介紹搭建

file 需求 緩存 項目 start epo -- 打開 for 1.Maven介紹Maven是款平臺的項目管理工具。主要服務於基於java平臺的項目構建,依賴管理和項目信息管理。2.Maven私服搭建環境介紹: 系統:Centos 7.4 64位、Jdk:1.8、mav

Git本地伺服器搭建使用

Git是一款免費、開源的分散式版本控制系統。眾所周知的Github便是基於Git的開原始碼庫以及版本控制系統,由於其遠端託管服務僅對開源免費,所以搭建本地Git伺服器也是個較好的選擇,本文將對此進行詳細講解。(推薦一家提供私有原始碼免費託管的網站:Bitbucket,目前支援一個專案5個成員) 搭

Git客戶端免密碼登入

伺服器搭建完GIT後,客戶端使用SSH登入,這樣便不用每次都輸入使用者名稱密碼。 首先在客戶端使用GitBash 命令生產金鑰檔案; 客戶端是windows,在資料夾C:\Users\Administrator\.ssh(沒有則新建)中開啟git bash; 輸入:ssh

Vue專案環境搭建git倉庫新建

1、  安裝node.js 連結:https://nodejs.org/en/download/ 直接傻瓜式安裝即可。          安裝完成後,在命令列執行node–v和npm –v均可以檢視版

本地Git伺服器的搭建使用

轉載自:https://www.cnblogs.com/ben121011/p/localGitServer.html Git本地伺服器環境搭建 搭建好的本地git伺服器的區域網ip是192.168.1.188,使用者名稱是RSCSVN Git客戶端環境搭建 配

Git本地伺服器搭建使用詳解

原文摘自:http://www.cnblogs.com/linsanshu/p/5512038.html Git本地伺服器搭建及使用 Git是一款免費、開源的分散式版本控制系統。眾所周知的Github便是基於Git的開原始碼庫以及版本控制系統,由於其遠端託管

IDEA整合Git版本控制工具—分享專案到Git上和從Git克隆專案到IDEA

如果使用的是Git私服,那麼大概的流程和上面相似的。只說一下有所區別的地方:將IDEA中的專案推送到Git私服上在選單上選擇VCS,選擇Import into Version Control,選擇Cre

cnpm搭建和發布包

block 郵箱 講解 cnp log 默認 info pos body cnpm 1.cnpm就是淘寶做的一個npm鏡像,定期更新npm包,就是方便墻內的人。此外還可以用它搭建企業內部的npm私服。比如一些企業內部的包不能公開,還有想進行版本管理等等,就很方便。

Centos7.0下Nexus搭建

load 11.2 AD 下載 work tps class ash bundle 1.下載nexus wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-03-bundl

ava Maven項目之Nexus搭建和版本管理應用

max 權限 環境 val 導致 type www. exit frame 目錄: Nexus介紹 環境、軟件準備 Nexus服務搭建 Java Maven項目版本管理應用 FAQ 1、Nexus介紹 Nexus是一個強大的Maven倉庫管理器,它極大地簡化了自己內部

SuSE之Gitlab搭建

admin apache tar fff mar b- option ext chang Gitlab私服搭建 Ps:由於是內網使用不存在郵件派發,不配置郵件,且無需異步服務器代理轉發 直接過程: 1、下載bitnami-gitlab-8.9.6-0-linux-x64-i

Maven 搭建

mirror dex 隔離 lan manager 3.1 localhost 拷貝 mirrorof 由於公司研發環境物理隔絕,所以自己搭建了一個 maven 私服,以下是自己搭建私服過程中的一個記錄。 1.準備Maven私服相關文件   1.1 從 sonatype

轉——git常見使用命令git原理

0.常用命令1 1.git中brunch的使用和理解(一定理解brunch的指標理解和分叉) 分支建立 Git 是怎麼建立新分支的呢? 很簡單,它只是為你建立了一個可以移動的新的指標。 比如,建立一個 testing 分支, 你需要使用 git branch 命令