用C++基礎語句寫一個五子棋遊戲
阿新 • • 發佈:2020-07-20
版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄裡面的所有檔案都可以被Git管理起來,每個檔案的修改、刪除,Git都能跟蹤,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以“還原
一:核心操作
1.初始化倉庫
git init
.git目錄
預設隱藏,可以通過命令ls -ah顯示
2.把檔案新增到版本庫
git add 檔名 檔名
可以一次新增多個檔案,git add .
代表把所有檔案全部提交
3.把檔案提交到當前分支
git commit -m '本次提交的說明'
4.把專案提交到(遠端)倉儲
git push
二:分支管理
1.檢視遠端分支
git branch -a
2.檢視本地分支
git branch
3.建立並切換分支
(加-b表示建立並切換)
git checkout -b 分支名
4.切換回分支
git checkout 分支名
5.從主分支裡建立新分支
git checkout master -b 新分支名
6.合併某分支到當前分支
git merge 分支名
7.刪除分支
git branch -d 分支名
git branch -D 分支名 (強行刪除分支)
三:解決衝突
1.提交或拉取時衝突
git stash
git pull
git stash pop
2.如果你想完全地覆蓋本地的程式碼,只保留伺服器端程式碼,則直接回退到上一個版本,再進行pull
PS:origin master表示git的主分支
git reset --hard HEAD^
git pull origin master
3.分支合併時衝突
(當git merge 分支名 時)
1.git status (檢視發生衝突的文)
2.然後手動合併衝突
3.git add . (新增更改後的檔案)
4.git commit -m 'xj' (提交)
四:其他操作
1.檢視ssh
金鑰
①進入.ssh目錄
cd ~/.ssh
②檢視id_rsa.pub檔案
cat id_rsa.pub
2.克隆遠端專案
git clone 遠端源地址
3.回退某個操作
①檢視命令歷史
git reflog
②根據commitID撤銷某個操作
git reset --hard 某個commitId
4.和遠端分支建立關聯
git branch --set-upstream-to=origin/遠端分支的名字 本地分支名
5.刪除檔案
①刪除版本庫中的檔案
git rm filename
②恢復工作區中誤刪的檔案
git checkout -- filename
PS:git checkout其實是用版本庫裡的版本替換工作區的版本,無論工作區是修改還是刪除,都可以“一鍵還原”
6.遠端倉儲
①建立sshkey金鑰
ssh-keygen -t rsa -C "[email protected]"
②在遠端倉庫中新增ssh公鑰
③關聯遠端庫
git remote add origin git@server-name:path/repo-name.git
④第一次推送master分支的所有內容,此後只需要使用git push origin master即可推送最新修改
git push -u origin master
7.多人協作
①檢視遠端倉儲的詳細資訊
git remote -v
②推送本地分支到遠端倉庫
git push origin 本地分支名
如果發生衝突,用git pull試圖合併,如果發生衝突則解決衝突,再進行推送
如果git pull後提示no tracking information(沒有追蹤資訊),則進行第四項,建立關聯,之後pull,有衝突再合併
③在本地建立和遠端分支對應的分支
git checkout -b 本地分支 origin/遠端分支名
④建立本地分支和遠端分支的關聯
git branch --set-upstream 本地分支名 origin/遠端分支名
8.分支策略
1.master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;
2.幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本釋出時,再把dev分支合併到master上,在master分支釋出1.0版本;
3.每個人都有自己的分支,時不時地往dev分支上合併就可以了
9.git fetch和git pull的區別
與git pull相比git fetch相當於是從遠端獲取最新版本到本地,但不會自動merge。如果需要有選擇的合併git fetch是更好的選擇。效果相同時git pull將更為快捷。
10.檢視倉庫當前的狀態
git status
11.檢視提交日誌
git log
12.回退版本
在git中用HEAD表示當前版本,HEAD^
表示上一個版本,HEAD^^
表示上上個版本
git reset --hard HEAD^ 或
git reset --hard 3628164 (數字代表log裡commit後面的id,只需要填前幾位就可以)
13.視窗關閉後回退版本
(git reflog用來記錄你的每一次命令)
git reflog
14.工作區和暫存區
工作區就是你建立的能看見的目錄,.git即為git的版本庫,Git的版本庫裡存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,Git為我們自動建立的第一個分支master,以及指向master的一個指標叫HEAD。
用git add把檔案新增進去,實際上就是把檔案修改新增到暫存區;
用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支
15.撤銷修改
①直接丟棄工作區的修改
git checkout -- file
②修改新增到了暫存區,丟棄修改
# 第一步
git reset HEAD file # 回退到場景1
# 第二步
# 按場景1操作