Git常見命令--助力開發

git常見命令:

創建初始化倉庫:

git 將文件提交到暫存區

git add 文件名

將文件提交到工作區

git commit -m "注釋(例如這是發行的版本1)" 文件名

查看狀態

如果暫存區沒有文件被提交顯示:

$ git status
On branch master
nothing to commit, working tree clean

如果暫存區有文件

$ git status
On branch master
Changes to be committed:(use "git restore --staged <file>..." to unstage)new file: ? Demo03.txt
?
git status

查看日志:

git log

出現的日志信息:

這個就是一時間為標準,由近到遠的記錄。

對于log他的展示方式和作用有很大的可操作性:

//歷史記錄過多是,會出現分屏的的效果
下一頁:空格
上一頁:b
最后一頁會顯示:end
退出:q

其他的日志展示方式:

  • git log

  • git log --pretty=oneline

  • git log --oneline

  • git log reflog

  • reset:前進或者是后退命令

    git reset --hard ****** 就是直接返回指定版本 這個是工作區,暫存區,本地代碼倉庫都會變。hard是最常用的

  • 演示效果:

  • 使用命令返回到aaa階段:

  • mixed參數: 本地庫的指針移動的同時,重置暫存區,但是工作區不動

    soft參數:

    本地庫的指針移動的時候,暫存區,工作區都不動

刪除文件:

使用命令rm:

直接演示刪除的是test.txt文件:

之久就是將操作同步到暫存區和本地庫:

將刪除的文件開始恢復:

通過這個操作其實我們是可以發現我們的返回時返回的這個時間點,所以文件也是根據時間點截取的。

總結: git diff [文件名] ---》 將工作區中的文件和暫存區中文件進行比較

git diff --->比較工作區中和暫存區中 所有文件的差異

git diff 歷史版本 ---》比較暫存區和本地庫中內容

分支:

查看分支: git branch -v

創建分支:git branch branch1

切換分支:

git checkout branch1

合并分支并處理沖突:git merge chanch1

出現沖突,因為是在同一個文件的同一行出現的文件修改問題,解決的方法是公司內部溝通解決。

注意現在顯示的是合并中,需要將解決之后的文件重新提交。

這個最終的提交是能帶有文件的名字的

創建遠程庫:

使用的是gitHub 他創建遠程庫的時候,只是按著圖形化界面就可以了。

https://github.com/Time-Passer-By-HDK/GitResp2.git這是你自己的遠程庫的地址。但是這個地址有點長,所以我們的git提供了起別名的方式,

別名:git remote add origin https://www.github/time-passer-by-HDK/GitResp2.git (origin他只是一個別名,這個隨便)

fetch:根據這個地址獲取數據

推送操作:

push:根據這個地址推送數據

推送:git push origin master (一個是遠程庫的別名,一個是推送的分支的選擇)

克隆操作:

git clone +https://地址

就是將遠程操作的數據拉取到本地

并且會為我們創建別名。

邀請加入團隊:

如果不是團隊中的人,是不可以直接提交代碼的,需要項目負責人的拉取,現在拉取的方式還在查找。

如果我們修改之后我們的本地庫的數據和遠程代碼倉庫是不一樣的,所以就要再次拉取數據.

拉取分為兩步:

fetch操作:

git fetch origin master

fetch 這個是抓取的操作,他就只是將數據進行了讀取,將文件下載到本地,可以直接合并。并沒有直接將數據放置到咱們的工作區。

抓取之后可以去遠程庫去查看文件時候抓取成功:

git checkout origin/master

如果發現內容正確,就開始合并操作。

merge操作:

其實上面的兩部合起來就是pull操作:

git pull origin master

如果是比較慎重的操作的話還是建議使用上面發步的操作,如果代碼比較簡單可以直接簡單的使用pull操作

協同開發操作時的解決沖突的方式(這個是針對一個分支的不同的人的操作):

就是如果是兩個人對同一位置進行操作的話,就會產生這個沖突,

如果是沖突的話就是先將遠程的拉取下來,在進行修改和上傳

還是拉取下來之后認為的選擇,之后再上傳,只要是解決重入的再commit提交時都是不帶文件名的。

跨團隊操作:

如果是B公司與A公司合作,首先是將A公司的數據放到自己的遠程庫中,如果是B的員工提交代碼的話,休要A的項目負責人審核。

B公司員工做的事情:

  1. 進入到賬號之后,將A公司的項目的地址輸入,之后點擊fork操作

  2. 之后就會出現這個項目,再將這個項目克隆到本地。

  3. 之后就可以開始自己的工作了

  4. 之后就是將代碼提交到自己的遠程庫(B公司的)

  5. 之后就是直接再github操作創建一個新的請求,讓A公司審批

  6. A的項目負責人審核

現在我們每次的push操作因為再windows系統中因為是有這個憑據管理器,所以不需要每次都輸入密碼,但是如果是別的系統的話,每次的提交都是需要輸入密碼的,這個其實是很不方便的。

在實際開發中,我們使用的是SHH的方式:

這個需要我們自己的設置也解決這個問題,

1.首先是進入到用戶的主目錄中 其實就是~ 這個目錄,指令時cd ~

2.之后是執行命令生成一個.shh目錄

ssh-keygen -t rsa -C 2827571574@qq.com

輸入命令之后進行三次的回車確認,這個其實就是讓你去選擇使用他的默認值。

之后就會出現這個文件夾

3.打開文件id_rsa.pub文件,將里面的內容直接復制。

4.打開GitHub,將內容放置到Settings里面。

?

5.生成密鑰之后,開始正常的操作,就是正常的起別名,之后提交什么的

IDEA集成操作:

在使用這個提交時顯示錯誤:

$ git push origin_SHH master ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists.

解決方案:

如果沒有配置文件就自己寫一個:

vim config

創建一個配置文件,之后換一個端口使用。

Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443
?
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
?

保存退出之后檢查是否成功:

這個問題就解決了。

IDEA整合GIT

將Git整合:

將本地庫初始化:

點擊VCS 之后開始選擇創建的工具:

發現文件中已經有了git文件

在創建文件之后彈出窗口,詢問時候添加到倉庫中:

注意之后是將這個項目添加到暫存區,之后就是簡單的提交

在控制臺查看數據:

查看日志:

現在只是將代碼提交到本地庫,并沒有提交到遠程庫,所以現在需要將代碼提交到遠程庫,但是我們還是使用剛剛的遠程庫的話,就會出現一個問題,這兩個庫是相關的庫,所以在拉取時,他的語法是:

git pull origin master --allow-unrelated-histories 哪個別名隨便用,可以直接是地址

git push -u origin master -f 這是推送的命令,添加-f 就是直接覆蓋

通過命令之后就可以發現現在的文件夾中出現了所有的文件。

現在信息就是同步的了。

一般在開發中都是先拉取,在進行push操作。

項目中的克隆操作:

在實際開發中我們都是先將項目經理的項目克隆到本地,之后再對于代碼進行開發和編寫

使用idea的話如何解決版本沖突:

如果出現沖突,會先讓你合并,這個具體還是讓人選擇。這里會出現選項,讓開發者選擇是選擇你的還是選擇別人的,這個具體的選擇的方式就是自己做主了。

但是如何避免沖突呢:

一般在開發中都是先拉取,在進行push操作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70468.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70468.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70468.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java 前后端時間格式轉換

在 Web 開發里&#xff0c;時間格式處理既常見又關鍵。由于前端和后端對時間的表示、處理方式存在差異&#xff0c;熟練掌握時間格式的轉換方法就顯得尤為重要。這篇文章會深入探討 Java 前后端時間格式轉換的相關知識&#xff0c;特別是 Java 時間轉換的多種方式&#xff0c;其…

MySQL要點總結一

大綱 一.InnoDB的內存結構和更新機制 二.InnoDB的存儲模型 三.并發事務原理 四.索引原理和索引優化 一.InnoDB的內存模型 1.SQL的執行流程 2.InnoDB的內存模型 3.Buffer Pool中的空閑緩存頁與free鏈表 4.Buffer Pool中的臟頁和flush鏈表 5.Buffer Pool通過LRU鏈表來淘…

常用網絡工具分析(ping,tcpdump等)

寫在前面 本文看下常用網絡工具。 1&#xff1a;ping 1.1&#xff1a;用途 用于檢驗網絡的連通性。 1.2&#xff1a;實戰 在Linux環境中執行&#xff1a;ping www.sina.com.cn&#xff1a; [rootlocalhost ~]# ping www.sina.com.cn PING spool.grid.sinaedge.com (111.…

基于Flask的第七次人口普查數據分析系統的設計與實現

【Flask】基于Flask的第七次人口普查數據分析系統的設計與實現&#xff08;完整系統源碼開發筆記詳細部署教程&#xff09;? 目錄 一、項目簡介二、項目界面展示三、項目視頻展示 一、項目簡介 基于Flask的人口普查可視化分析系統 二、項目界面展示 登錄/注冊 首頁/詳情 …

11.Docker 之分布式倉庫 Harbor

Docker 之分布式倉庫 Harbor Docker 之分布式倉庫 Harbor1. Harbor 組成2. 安裝 Harbor Docker 之分布式倉庫 Harbor Harbor 是一個用于存儲和分發 Docker 鏡像的企業級 Registry 服務器&#xff0c;由 VMware 開源&#xff0c;其通過添加一些企業必需的功能特性&#xff0c;例…

Zookeeper應用案例-分布式鎖-實現思路

以下是具體實現代碼 第一步&#xff1a;注冊鎖節點 第二步&#xff1a;獲取鎖節點&#xff0c;如果自己是最小的節點&#xff0c;就獲取權限 第三步&#xff1a;拿到鎖就開始自己的業務邏輯 第四步&#xff1a;業務邏輯好了就要釋放這把鎖 第五步&#xff1a;重新注冊監聽&…

Elasticsearch7.1.1 配置密碼和SSL證書

生成SSL證書 ./elasticsearch-certutil ca -out config/certs/elastic-certificates.p12 -pass 我這里沒有設置ssl證書密碼&#xff0c;如果需要設置密碼&#xff0c;需要再配置給elasticsearch 在之前的步驟中&#xff0c;如果我們對elastic-certificates.p12 文件配置了密碼…

Linux(ubuntu) GPU CUDA 構建Docker鏡像

一、創建Dockerfile FROM ubuntu:20.04#非交互式&#xff0c;以快速運行自動化任務或腳本&#xff0c;無需圖形界面 ENV DEBIAN_FRONTENDnoninteractive# 安裝基礎工具 RUN apt-get update && apt-get install -y \curl \wget \git \build-essential \software-proper…

藍橋杯——lcd顯示

一&#xff1a;復制文件 從官方參考文件中復制相關文件&#xff0c;Src中的lcd.c&#xff0c;Inc中的lcd.h&#xff0c;fonts.h復制到自己創建的文件中 二&#xff1a;lcd初始化 在lcd.h中找到四個初始化函數&#xff0c;將其寫到main文件中 三&#xff1a;寫lcd顯示函數 在…

【C++游戲開發-五子棋】

使用C開發五子棋游戲的詳細實現方案&#xff0c;涵蓋核心邏輯、界面設計和AI對戰功能&#xff1a; 1. 項目結構 FiveChess/ ├── include/ │ ├── Board.h // 棋盤類 │ ├── Player.h // 玩家類 │ ├── AI.h // AI類 │ └── Game.h // 游戲主邏輯 ├── src/ …

中興G7615AV5

參考文獻&#xff1a; G7615AV5 光貓新版固件通過修改備份配置文件固化Telnet 中興7615AV5光貓配置指南 前言&#xff1a;&#xff08;不如咸魚30遠程全權搞定&#xff0c;花小錢辦大事&#xff09;截至2025年2月22號&#xff0c;這個設備開啟Telnet只能去咸魚找別人遠程開&…

常用設計模式(embeded Qt)

常用設計模式&#xff1a; 觀察者模式&#xff08;Observer Pattern&#xff09; 應用場景&#xff1a;傳感器數據更新、UI狀態同步。實現方式&#xff1a;通過QT的信號槽機制&#xff08;本質是發布-訂閱模式&#xff09;自動實現。例如&#xff1a;connect(sensor, &Sens…

侯捷 C++ 課程學習筆記:內存管理與工具應用

一、課程基礎要求 首先強調了學習前應具備的基礎知識。這些基礎知識對于理解 C 的核心概念和編程技巧至關重要。 動態內存分配與使用&#xff1a; 理解動態內存分配的概念&#xff0c;掌握 new 和 delete 操作符的使用。 能夠動態分配和管理內存&#xff0c;避免內存泄漏和非…

python: SQLAlchemy (ORM) Simple example using SQLite

領域層&#xff08;Domain Laye&#xff09;&#xff1a;定義了 School 實體類和 SchoolRepository 抽象基類&#xff0c;明確了業務實體和數據訪問的契約。 基礎設施層&#xff08;Infrastructure Laye&#xff09;&#xff1a;通過 SQLAlchemy 實現了 SchoolRepository 類&am…

fastadmin實現海報批量生成、郵件批量發送

記錄一個海報批量生成、郵件批量發送功能開發&#xff0c;業務場景如下&#xff1a; 國外客戶做觀展預登記&#xff0c;工作人員通過后臺&#xff0c;批量給這些觀眾生成入場證件并發送到觀眾登記的郵箱&#xff0c;以方便觀眾入場時快速進場。證件信息包含入場二維碼、姓名&a…

solidity之Foundry安裝配置(一)

一門面向合約的高級編程語言&#xff0c;主要用來編寫以太坊只能合約。 Solidity受C語言&#xff0c;Python和js影響&#xff0c;但為編譯成為以太坊虛擬機字節碼在EVM上執行&#xff0c;很多特性和限制都和EVM相關。 Solidity 是靜態類型語言&#xff0c;支持繼承、庫、自定義…

功能全面的手機壁紙應用,種類齊全、眾多高清壁紙

軟件介紹 應用亮點&#xff1a;今天給大家分享一款超神奇的手機應用 —— 奇幻壁紙。它作為手機動態壁紙軟件&#xff0c;功能超全面&#xff0c;操作還便捷&#xff0c;極具創意&#xff0c;能瞬間將你的手機屏幕變成奇幻世界&#xff0c;帶來全新視覺感受。 使用便捷性&…

使用docker配置PostgreSQL

配置docker阿里云鏡像倉庫 國內使用docker hub拉取鏡像比較慢&#xff0c;所以首先配置個人的鏡像倉庫。 阿里云的個人鏡像倉庫是免費的&#xff0c;對個人來說足夠用。 具體操作參考阿里云官方鏈接 。 關于個人鏡像倉庫的使用參考鏈接。 配置完個人鏡像倉庫后將公網配置到doc…

基于Dancing Links的精確覆蓋算法(解決NP難問題)和量子計算機模擬中的Shor算法(涉及數論與量子疊加態模擬)

一、Dancing Links算法實現數獨求解(NP難問題) 算法方案 數獨可轉化為精確覆蓋問題,使用Knuth提出的DLX算法實現高效求解。該算法通過雙向十字循環鏈表實現快速回溯,時間復雜度可達O(n^k)(k為常數) #include <iostream> #include <vector> #include <c…

Spring Boot定時任務原理

Spring Boot定時任務原理 在現代應用中&#xff0c;定時任務的調度是實現周期性操作的關鍵機制。Spring Boot 提供了強大的定時任務支持&#xff0c;通過注解驅動的方式&#xff0c;開發者可以輕松地為方法添加定時任務功能。本文將深入探討 Spring Boot 中定時任務的實現原理…