日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git版本号管理工具的上手

發布時間:2025/5/22 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git版本号管理工具的上手 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

git是一個分布式的版本號管理工具

和其它集中式版本號管理 工具相比具有下面長處:

1.能夠在不聯網的情況下開發

2.能夠方便的建立本地分支

3.本地化的日志,高速獲得信息

git命令的使用

mkdir /d/myproject? (在本地d盤以下創建一個名為myproject的本地倉庫)

cd /d/myproject??? (切換到該文件夾下)

git init? (初始化為主枝)

git add filename? (加入�一個文件的記錄? ?一次僅僅能加入�一個文件)

git commit -m "something record"? (提交之前全部加入�的文件的記錄??)

git status? (查看倉庫內文件的狀態)

git diff filename? (比較倉庫內某文件和之前有什么不同)

git log (輸出近期文件改動的記錄)

git log --pretty=oneline (單行輸出改動記錄,比較清爽)

git reset --hard 134sdf(hash值) (git以下的回退命令,當中hash值代表的是之前的版本號,HEAD^表示上一個版本號 HEAD~n 表示之前第n個版本號)

git reflog (會把每一個版本號的hash值列出來,包含已經被回滾的版本號,用他能夠找到已經被我們拋棄的版本號的hash值,以便我們又一次回到那個版本號)

git checkout -- "filename" (恢復該文件到暫存區里面的最新版本號)

rm "filename" (刪除某個文件)

cat "filename" (打印某個文件)

?

------------------------------------------------------------------------------------------------------------------

Git和其它版本號控制系統如SVN的一個不同之處就是有暫存區的概念。

先來看名詞解釋。

工作區(Working Directory):就是你在電腦里能看到的文件夾,比方我的learngit文件夾就是一個工作區:

版本號庫(Repository):工作區有一個隱藏文件夾“.git”,這個不算工作區,而是Git的版本號庫。

Git的版本號庫里存了非常多東西,當中最重要的就是稱為stage(或者叫index)的暫存區,還有Git為我們自己主動創建的第一個分支master,以及指向master的一個指針叫HEAD。

分支和HEAD的概念我們以后再講。

前面講了我們把文件往Git版本號庫里加入�的時候,是分兩步運行的:

第一步是用“git add”把文件加入�進去,實際上就是把文件改動加入�到暫存區;

第二步是用“git commit”提交更改,實際上就是把暫存區的全部內容提交到當前分支。

由于我們創建Git版本號庫時,Git自己主動為我們創建了唯一一個master分支,所以,如今,commit就是往master分支上提交更改。

你能夠簡單理解為,須要提交的文件改動通通放到暫存區,然后,一次性提交暫存區的全部改動。

俗話說,實踐出真知。如今,我們再練習一遍,先對readme.txt做個改動,比方加上一行內容:

Git is a distributed version control system. Git is free software distributed under the GPL. Git has a mutable index called stage.

然后,在工作區新增一個LICENSE文本文件(內容隨便寫)。

先用git status查看一下狀態:

$ git status # On branch master # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: readme.txt # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # LICENSE no changes added to commit (use "git add" and/or "git commit -a")

Git很清楚地告訴我們,readme.txt被改動了,而LICENSE還從來沒有被加入�過,所以它的狀態是Untracked。

如今,使用兩次命令git add,把readme.txt和LICENSE都加入�后,用git status再查看一下:

$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: LICENSE # modified: readme.txt #

如今,暫存區的狀態就變成這樣了:

所以,git add命令實際上就是把要提交的全部改動放到暫存區(Stage),然后,運行git commit就能夠一次性把暫存區的全部改動提交到分支。

$ git commit -m "understand how stage works" [master 27c9860] understand how stage works2 files changed, 675 insertions(+)create mode 100644 LICENSE

一旦提交后,假設你又沒有對工作區做不論什么改動,那么工作區就是“干凈”的:

$ git status # On branch master nothing to commit (working directory clean)

如今版本號庫變成了這樣,暫存區就沒有不論什么內容了:

小結

暫存區是Git非常重要的概念,弄明確了暫存區,就弄明確了Git的非常多操作究竟干了什么。

沒弄明確暫存區是怎么回事的童鞋,請向上滾動頁面,再看一次。

?

--------------------------------未完待續------------------------------------

總結

以上是生活随笔為你收集整理的git版本号管理工具的上手的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。