git 的基本使用(未完待補充)

原文鏈接:https://blog.csdn.net/qq_36922927/article/details/98473435

git 的使用

1創建新倉庫

mkdir xxx //創建文件夾

git init //會將當前目錄初始化爲本地倉庫(發現會有.git 文件)

2 配置作者信息

git config --global user.email "xxxx"

git config--global user.name "yyyyy"

注意:如果是只需要將作者信息配置在當前倉庫,去掉–global 選項

配置信息會記錄在:.git/config

3 忽略文件提交(.gitignore)

編輯 .gitignore 文件

*.txt //表示忽略.txt 結尾的文件

!hello.txt //表示不忽略hello.txt

dir/hello // 表示忽略文件夾及其文件夾下所有內容

4 版本庫添加與與移除文件(add&rm)

在這裏插入圖片描述

注意:rm 如果不加上 –cached 選項,會刪除本地文件,加上該選項,則只是將其從暫存區刪除

5 修改文件名(mv)

git mv oldName newName

git add newName

git commit -m "rename file"

6 查看日誌(log)

git log

git log -p // 文件變動信息

git log -p -1 //最近一次提交

git log --oneline //簡短信息

git log --oneline -p

git log --name-only // 文件發生變化

git log --name-status // 文件的狀態變化

7 修改最近一次提交描述(amend)

每次提交文件,需要 -m 加上提交描述,但是如果描述有誤,如何修改呢?

git commit --amend 即可達到修改提交描述的問題

注意:修改的是最新一次提交的commit 註釋

8 命令取別名(alias)

正常來說,添加需要使用 git add xxx

使用

git config --global alias.a add //這是講 add 取別名爲 a

注意: 如果不加上 --global 則是對當前倉庫生效

打開 .git/config 文件會發現多了一條記錄:

[alias]
	a = add

9 git 分支

在這裏插入圖片描述

  1. master 分支是用於生產環境的,是穩定的

  2. 模塊1,模塊2分支使用與開發的,當完成開發後,合併到master 分支,然後模塊1,模塊2分支就沒有用處了,需要刪除

  3. HEAD 是每個分支的頭結點,指向創建該分支時在主分支上的時間節點位置

相關命令

  1. 查看分支

    git branch // 帶星號表示當前所在分支

  2. 創建分支

    git branch xxx // 創建分支xxx

  3. 切換分支

git checkout xxx // 切換到 分支xxx

在這裏插入圖片描述

  1. 測試

現在在ask 分支創建一個文件ask.html,然後提交

再切回master ,查看status

會發現:在Ask 分支內能夠看到 ask.html 文件

但是在master 分支內是不能看到ask.html文件的

注意: 先切到master 分支,然後再去創建其他分支

  1. 合併分支

. 先切換master

. git merge 分支1 //會將分支1 合併到master

  1. 查看已合併的分支

    git branch --merged
    
  2. 刪除分支(一定是刪除已經合併過的分支)

git branch -d 分支1 //刪除分支1

10 解決衝突

產生原因:(假設現在有兩個分支 ask,bbs)

  1. 兩個分支都是在master 的同一個位置創建

  2. 各自改變了同一個文件(ask.html) 分支ask 添加了一條記錄,分支bbs 添加了一條記錄

  3. 分支ask先合併到master

  4. 分支bbs合併到master 時就會失敗

解決:

  1. 此時需要手動編輯衝突文件

在這裏插入圖片描述

  1. git add ask.html //修改後的
  2. git commit -m ‘handle conflict success’

11 暫存區(stash)

當前有兩個分支;ask,bbs

1.你在ask 中新增了一個文件a,add ,commit

  1. 修改文件a,但是沒有add,也沒有commit

  2. 此時切換到分支bbs ,會報錯

    error: Your local changes to the following files would be overwritten by checkout:
    ASK.TXT
    Please commit your changes or stash them before you switch branches.
    Aborting

如何解決?

使用stash 將未保存的數據保存到暫存區 stash,然後就可以切換分支了

當你切回 ask分支,發現找不到文件a

查看stash 暫存區列表

git stash list

$ git stash list
stash@{0}: WIP on ask: 527f285 add ASK.TXT

恢復暫存區中數據到當前分支

git stash apply

當暫存區不需要時,如何刪除暫存區?

git stash -drop stash@{0}

注意:stash 不是暫存單個文件,而是存儲一個狀態,可能包含多個文件

12 打TAG

當代碼到了某個比較穩定的階段,可以打上一個標籤TAG,表明此階段代碼是穩定的。

git tag v1.0

查看標籤

git tag

13 生成 zip 代碼壓縮包

git archive master --prefix='topForethought' --format=zip > demo.zip

上述命令會將master 分支打包成名爲demo.zip 的zip 包到當前目錄下

prefix 會給所有文件名前面加上前綴,比如打包前是 “hello

打包後是 “topForethoughthello

14 未完待續

3 生成 zip 代碼壓縮包

git archive master --prefix='topForethought' --format=zip > demo.zip

上述命令會將master 分支打包成名爲demo.zip 的zip 包到當前目錄下

prefix 會給所有文件名前面加上前綴,比如打包前是 “hello

打包後是 “topForethoughthello

14 未完待續

既然原創審覈未通過,我就轉載了,我轉我自己

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章