git代碼版本管理


先看這個圖,了解工作區、版本庫、stage、HEAD、master、add、commit這幾個概念。

(忘記自己從哪兒盜的圖了...)

git_relearn文件夾里就是一個工作區(working directory);

.git隱藏的文件夾就是版本庫(repositary);

版本庫里包含暫存區(stage);

git為我們自動創建的第一個分支master;

git commit就是往分支master提交更改;

指向master的指針是HEAD

 

一.前期准備

git config --global user.name "hdn"  #設置自己的名字

git config --global user.email "123456@qq.com"  # 郵箱

pwd  # 查看當前版本庫所在的目錄(版本庫又叫倉庫repository。該目錄下的文件都可以被git管理起來:包括文件的刪除更改等都會給git追蹤)

touch test.txt  # 創建test.txt文件

git init  # 初始化一個git倉庫(在哪個目錄下git init,就是定義當前目錄為git倉庫repository)

git add test.txt  #將自己創建的test.txt存入版本庫的stage暫存區里

git commit -m"create a test.txt"  # 將已經放到stage里的test.txt文件提交到master里,m后面的參數是對本次提交的文字說明。可以多次add,然后一次commit

 

二.查看

git status  # 查看倉庫當前狀態

git diff test.txt  # 查看對test.txt做了什么修改

git diff HEAD -- test.txt  # 查看test.txt當前版本的修改狀態

 

 

三.版本

git log  # 查看修改的歷史記錄:從最近到最遠的提交依次顯示。

git log --pretty=oneline  # 字面意思:將記錄以一行的方式顯示

git reset --hard HEAD^  # 回退到上一個版本;HEAAD^^為回退到上上一個版本;HEAD~100為回退到上100個版本

git reset --hard 4fa142c  # 4fa142c為某次修改事件A的版本號(commit ID)。對應git log命令下顯示的前七位數。那么此時會回退到事件A時刻的修改記錄

git reflog  # 查看每次修改對應的版本號(commit ID)

 

四.提交

每次提交之后,工作區(working directory)就會變成clean。

 

五.撤銷

git checkout --test.txt  # 撤銷在工作區的修改,讓這個文件回到最近一次git commit或者git add的狀態

git rest HEAD test.txt  # 回退到上一個操作。即撤銷掉test.txt在stage(暫存區)的緩存(to unstage)。git reset 是回退版本,HEAD是指當前版本

 

六.刪除

rm test.txt  # 刪除在工作區里的test.txt文件

git rm test.txt  # 從版本庫里刪除test.txt

git commit -m"remove test.txt"  # 提交本次刪除,並標記為"remove test.txt"

git checkout -- test.txt  # 在未從版本庫僅僅是從工作區刪除的文件可以通過此命令恢復。即用版本庫的版本文件替換工作區里的文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM