Git 經常使用命令及應用這一篇就夠了(新手向)

COVER.png

1. git 經常使用命令

1.1 經常使用命令

# 初始化git
git init 

# 克隆項目
git clone [url] 

# 顯示文件狀態
git status -s 

# 添加文件到暫存區
git add . #添加全部文件到暫存區
git add [文件名] #添加指定文件到暫存區

# 提交暫存區到倉庫區
git commit -m [提交信息] 

# 拉取遠程倉庫的變化,更新本地分支
git pull 

# 推送到遠程倉庫
git push 
git push [遠程主機名] [本地分支名]

# 更新全部的遠程倉庫信息
git fetch --all 

# 合併指定分支到當前分支
git merge [分支名] 

# 分支相關
git branch # 列出全部本地分支
git checkout [分支名] # 切換到指定分支
git checkout -b [本地分支名] origin/[遠程分支名] # 拉取遠程分支

#查看項目中git配置
git config --list

# 配置全局信息
git config --global user.name "[name]"
git config --global user.email "[email address]"

# 項目中配置
git config user.name "[name]"
git config user.email "[email address]"

1.2 git remote

管理遠程倉庫
#查看遠程倉庫
git remote 

#查看關聯的遠程倉庫的詳細信息
git remote -v 

#添加遠程倉庫的關聯
git remote add origin [遠程倉庫地址] 

#刪除遠程倉庫的關聯
git remote remove [遠程倉庫名稱] 

#更新遠程倉庫的分支
git remote update origin --prune

1.3 git rebase

rebase操做能夠把本地未push的分叉提交歷史整理成直線;

rebase的目的是使得咱們在查看歷史提交的變化時更容易,由於分叉的提交須要三方對比。git

2. Git的常見應用

2.1 本地項目上傳至多個遠程庫

# 添加關聯遠程庫(這裏以github和碼云爲例,你們替換掉倉庫地址便可)
git remote add gitee [url]
git remote add gitee git@gitee.com:LuckRain/Knowledge-Sharing.git
git remote add github git@github.com:LuckRain7/Knowledge-Sharing.git

# 推送時分別將master分支推送到關聯遠程庫
git push gitee master
git push github master

# 刪除關聯遠程庫
git remote rm [origin]

2.2 Git 遠程分支強制覆蓋本地分支

需在須要覆蓋的分支上進行一下操做
# 更新全部的遠程倉庫信息
git fetch --all  

# 強制重置爲 origin/master(能夠換成你須要的遠程分支) 遠程分支
git reset --hard [origin/master] 

# 拉取最新代碼
git pull

2.3 Git 配置忽略規則(.gitignore)不生效解決方案

清除緩存 從新提交
# 清除緩存
git rm -r --cached .

# 將全部文件添加到緩存區
git add . 

# 添加提交信息
git commit -m 'update .gitignore' 

# 強制覆蓋 以遠程分支 rain 爲例
git push

2.4 Git 強制提交本地分支覆蓋遠程分支

# 將全部文件添加到緩存區
git add .

# 添加提交信息
git commit -m '更新信息'

# 強制覆蓋 以遠程分支 rain 爲例
git push origin rain --force

2.5 分支合併

2.5.1 情景:

我如今的分支是 raingithub

我要把別人的分支 snow 合併到個人分支上來緩存

2.5.2 操做:

  1. 首先要進行切換分支(切換分支前要保證本身分支的內容都已經提交了)
# 狀況一:分支是本地分支(直接切換)
git branch snow  

# 狀況二:分支是遠程分支(新建本地分支並與遠程分支關聯)
git checkout -b snow origin/snow
  1. 在 snow 分支上拉取最新代碼
git pull
  1. 切換回我本身的分支rain
git branch rain
  1. 執行合併
git merge rain
  1. 處理代碼衝突

我這裏比較喜歡使用 VS Code 的可視化界面解決代碼衝突bash

2.6 版本回溯

#版本回退到上一個版本
git reset --hard HEAD^ 

# 回溯到指定版本
git log #查看git歷史版本信息,並找到指定版本的commit id
git reset --hard [commitId]  # 進行回溯

commitId.png

2.7 同時配置gitee&github(多平臺)ssh

2.7.1. 本地建立多個ssh

# 進入.ssh目錄
cd ~/.ssh

# 生成ssh
ssh-keygen -t rsa -C "xxxx@email.com" -f "rain_github" # 後續綁定github平臺
ssg-keygen -t rsa -C "xxxx@email.com" -f "rain_gitee"  # 後續綁定gitee平臺
ssg-keygen -t rsa -C "xxxx@email.com" -f "coding_id_rsa"  # 後續綁定coding平臺

會在本地生成以下文件ssh

ssh.png

2.7.2. 在各個平臺進行ssh綁定

2.7.2.1 github平臺操做

github.png

githubaddssh.png

2.7.2.2 gitee 平臺操做

gitee.png

2.7.3. 解決ssh衝突配置

C:\Users\ZHCZ\.ssh 文件夾中新建 config 文件async

進行以下配置測試

# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile C:\Users\ZHCZ\.ssh\rain_gitee

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile C:\Users\ZHCZ\.ssh\rain_github

# coding
Host e.coding.net
HostName e.coding.net
PreferredAuthentications publickey
IdentityFile C:\Users\ZHCZ\.ssh\coding_id_rsa

config.png

2.7.4. 測試

ssh -T git@gitee.com
ssh -T git@github.com

返回success則表示設置成功fetch

推薦閱讀

  • wx.png

    相關文章
    相關標籤/搜索