Git的基本操作

Git簡介
Git(讀音爲/gɪt/。)是一個開源的分佈式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。 [1] Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件
Git下載地址
https://git-scm.com/
設置用戶名
$ git config user.name ‘github用戶名’
設置郵箱
$ git config user.email ‘郵箱’
查看git版本信息
$ git --version
使用git將項目提交到遠程代碼倉庫
注意 本地開發一般需要建兩個分支一個自己的分支,一個主分支(master),本地次分支代碼修改無誤後,合併到主分支,在進行提交
1.在項目中執行git init 建立本地倉庫初始化
2.與遠程倉庫建立連接 git remote add origin [遠程倉庫路徑 url] 第一次提交遠程倉庫
3.git status 查看本地代碼的狀態(自己的分支)
4.git add . 添加到緩存區
5.git commit -m 確認添加
6.git chekout master 切換本地主分支
7.git pull 主分支拉取遠程最新代碼
8.git merge zhu 在主分支上合併自己的分支
9.git push origin master 提交主分支到遠程倉庫

容易出現的問題在這裏插入圖片描述問題出現的原因是遠程倉庫與本地倉庫不一致,遠程倉庫存在一個文件,而本地倉庫沒有,我們add,commit,push之前沒有先pull,這時候再pull就會得到以下提示“fatal:refusing to merge unrelated histories”,提交不上去,更新不下來,怎麼辦?
執行git pull origin master --allow-unrelated-histories解決

git基本指令
查看分支 Git branch
查看遠程分支 git branch -r
創建分支 git checkout -b zhu
切換分支 git chechout master
git log -p //查看提交所帶來的改動
git log -p ggg //查看指定文件的改動
git diff //查看暫存區與工作區之間的差別
git diff --cached
git diff HEAD //查看工作樹與最新提交的差別
版本回退
git reset //回溯歷史版本
git reset --hrad //回溯到指定狀態,只要提供目標時間點的哈希值

git 版本庫忽略文件
在這裏插入圖片描述
使用shh協議進行代碼提交
爲了減少每次提交代碼需要用戶認證,我們可以通過shh的方式進行提交
查看本機下面是否存在密鑰
cd ~/.ssh
ls
生成一個密鑰
ssh-keygen -t rsa -C "[email protected]"
輸入密鑰名稱 輸入兩次密碼
生成密鑰
在這裏插入圖片描述
生成兩個密鑰 我們這裏使用gitee.pub,公共的密鑰
在這裏插入圖片描述
在這裏插入圖片描述
將生成的公鑰填入公鑰區域,注意標題不能隨便寫,是公鑰裏面自動生成的

git與svn服務器的區別
svn的特點
中心的svn服務器中,存儲着代碼版本的變遷,及日誌.
你想查看改動日誌,請聯網SVN服務器.
你想退回上個版本,請聯網SVN服務器.
你想創建新的分支,請聯網SVN服務器.
聯網不說,萬一SVN服務器要是壞了???後果你說呢.
git的特點
每個開發者的電腦上,都有完整的版本,日誌,及分支信息.
但開發者不依賴於服務器,可以查看日誌,回退版本,創建分支.
當然,世界各地的開發需要交換最新的版本信息,
因此,git往往也需要服務器.

但是,本質的區別在於:
git服務器是供開發者"交換"代碼,服務器數據丟了沒關係,分分鐘再建一臺.
svn的服務器,不僅交換代碼,還控制着日誌,版本,分支.服務器數據丟了就完了

使用git查看日誌及版本回退
git log 查看日誌
git log 查看文件的日誌
git log . 查看當前文件夾下的日誌
gitlog顯示格式化
git log --pretty=oneline

git reflog 查看版本變化
$ git reflog
5d5df85 HEAD@{0}: commit: four
6207e59 HEAD@{1}: commit: three
70110b9 HEAD@{2}: commit: two
bc65223 HEAD@{3}: commit (initial): one

git版本切換
one line
second line
third line
four line

git版本切換
切換爲head的前1版本,git reset --hard HEAD^
切換爲head的前2版本,git reset --hard HEAD^^
切換爲head的前100版本,git reset --hard HEAD~100

git版本切換 [利用版本號切換]
$ git reset --hard 6207e59

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