git 操作小記

2021-08-21 05:18:39 字數 1536 閱讀 6879

本人主要記錄工作中常用的git 場景。

(1)場景一:拉取指定commitid的**

需要將開發所用git庫**提交至正式雲上,開發git庫上已經commit多次,而在雲上需要統計**量,所以在雲上需新建最原始的**,提交後,再將最新**提交至雲上。針對上述場景,需要首先fetch開發庫git第一次commitid對應的**,提交至雲上之後,然後在fetch最新commitid**,然後在提交至雲上,這兩次提交就可以統計出**量。

方法一操作如下:

# init

git init

# add a remote

git remote add [remote_name] [remote-url]

# fetch a commit (or branch or tag) of interest

git fetch [remote-url] [sha1-of-commit-of-interest]

# reset this repository's master branch to the commit of interest

git reset --hard fetch_head

在試驗之後,上述操作有時會執行錯誤,顯示如下  no such remote ref。 而在git lab 相應的commitid是存在的,具體原因還未搞明白。

如果上述方法無法操作成功,則採用方法二:

$ git clone [remote-url]

$ git reset --hard $commitid

首先clone 整個專案,然後在reset至某個commitid。

方法一有時會錯誤,經測方法二無問題,可執行。

(2)結合gerrit

gerrit是免費的code review工具,所以關係如右所示,git reomte ->gerrit -> 本地,本地push的**首先push 到gerrit,gerrit進行verified和code review通過之後,gerrit會push 到git遠端倉庫。

(1)在進行git push時 分支下面需具有commit-msg,

cdproject_dir

$ls.git/hooks/commit-msg

scp-p -p 29418 liux@gerrit.***xx.com:hooks/commit-msg$/hooks/

git tag -a v***xx -m '******x'

git push origin --tags

(3)git push

由於所有開發都在dev分支上進行,所有進行push時需指定push 的branch。

git push origin dev:refs/for/dev

Git使用小記

git使用小記 前言 我們寫 寫完後總要進行管理,以前寫的很多 雖然寫的不是很好,但因為沒有乙個比較好的 管理習慣,所以很多都遺失掉了,為此現在都還覺得很可惜,近來在學習使用git來進行 管理,git是乙個很強大的分布式版本控制系統。1 遠端倉庫操作命令 從遠端倉庫轉殖倉庫到本地 git clone...

git使用小記

突然發現用eclipse管理git時,eclipse本身會成為下一級repository。也就是說,eclipse裡面commit時會commit到eclipse裡自己快取的乙個repository,這個貌似在d program files git 下面,只有在push時,才會推送到上層git的.g...

git使用小記

一直在使用git,但是沒有徹底弄明白,今天花時間學習一下,順便記錄下來 1.初始化git環境 建立新資料夾,執行git init,然後資料夾中就會出現.git的隱藏資料夾,證明已經初始化完成 2.新增和提交修改 建立test.txt,然後修改內容儲存。執行 git add test.txt,講修改新...