Git學習筆記

2021-07-16 16:16:13 字數 3637 閱讀 8582

密碼:xwv5

linux安裝:。。。

mac安裝:。。。

git config --global user.name "young"

git config --global user.email "[email protected]"

mkdir youngsmith

cd youngsmith

git init

touch readme.md

git add readme.md

git commit -m "first commit"

git remote add origin [email protected]:youngsmith/youngsmith.git

git push -u origin master

cd existing_git_repo

git remote add origin [email protected]:youngsmith/youngsmith.git

git push -u origin master

git  remote -v
git remote set-url origin http://young***web.git
基本命令

git --version

git config [--global] 這裡需要說明一下:git config 命令用於git配置變數。

其中 git config 版本庫級別的配置檔案

git config --global 全域性配置檔案

git config --global user.name "youngsmiths"

git config --system 系統級別配置檔案

可以通過git config -e --global 檢視配置檔案內容

git config user.name 檢視全域性配置

git config --unset --global user.name 刪除全域性配置

git init 初始化。例如:git init demo 或 cd demo

git grep 搜尋文字

git add .

git status [-s] 狀態 -s 簡版狀態

git commit -m "describe" 提交

git rev-parse --git-dir 顯示版本庫.git目錄所在位置

git rev-parse --show-otplevel 顯示工作去目錄

git rev-parse --show-prefix 顯示相對於工作區的相對目錄

格式化檢視日誌,graph關係圖,stat 日誌記錄統計

git commit --allow-empty -m "describe" 允許無使用者提交

git config --global alias.ci "commit -s" 命令別名(未驗證成功)

git clone a b 轉殖(未驗證成功)

git diff 工作區和提交任務(提交暫存區,stage)中相比較

git diff head 工作去和head(當前分支)作比較

git diff --catched/staged 提交暫存區(提交任務,stage)和版本庫比較

git reset head 暫存區的目錄會被重寫,會被當前分支替換,但是對工作區沒有影響。

git rm --cached 直接從暫存區刪除檔案,工作區沒有影響

git checkout . 或者git checkout -- 暫存區全部檔案或指定檔案替換工作去檔案,危險行為,會清楚工作區中沒有提交的改變。

指向的分支中的全部**替換暫存區和工作去中的檔案,極其危險,會清楚未提交的**。

git stash

git reflog show master | head -5 顯示提交的五次記錄

我的情況是原本使用ssh,但是ssh突然使用不了,需要跟換https

步驟:

git remote set-url origin [url]

我這裡使用 git remote set-url origin [url]命令,直接修改遠端倉庫為https的位址

2.先刪後加

git remote rm origin git remote add origin [url]

3.直接修改config檔案

2)以上進行git操作的時候,每次都需要密碼,所以可以配置免密

1)新建檔案並儲存密碼

$ touch ~/.git-credentials

$ vim ~/.git-credentials

2)新增內容

3)新增git配置

git reset 重置命令,最危險最容易誤用 

用法一:git reset [-q] [--] ...

用法二:git reset [--soft | --mixed | --hard | --merge | --keep] [-q]

echo "hello." > test.txt

轉殖github上的專案:git clone

圖一

圖二

換了一家公司,版本管理用的是svn,才發現git是簡直就是太方便了,現在用svn感覺特別蹩腳,原理性的概念不多說,網上一堆。對於實際開發來說,svn基本上是乙個功能開乙個分支,當然git也基本如此。但是實際情況是這樣的,專案組的svn伺服器不怎麼好使,時不時關機什麼的,提交一次**要和領導說一次,也不好意思經常麻煩領導,就一次提交**實現多個小功能,很多**,這樣一來就很容易亂了,基本上為了清楚一點只能是手動在**上打標籤。如果是git的話就不一樣了,我本地有乙個分支,將**提交到本地分支,甚至可以建立另外乙個bug分支等等,和主分支伺服器連不連得上基本沒有影響。

當然,git的好處不只是這一點,這只是專案中碰到的一種情況,其中辛酸苦與淚,經歷過就知道了,最好不要經歷,哈哈哈哈。。。

—— —— 2018.2.3

Git學習筆記

git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...

git 學習筆記

1 git checkout master 切換分支 2 git checkout b xx 新建分支,同時切換到該分支 3 dev 4 git add a 將變動檔案,提交到index 5 git commit m 將 暫存區 檔案,加入到版本控制中。6 git checkout master 7...

Git 學習筆記

顯示版本庫.git所在的目錄 git rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...