git命令整理

2021-06-30 16:34:39 字數 3115 閱讀 9209

git svn區別

svn是集中式版本控制系統,版本庫是集中放在**伺服器的,而幹活的時候,用的都是自己的電腦,所以首先要從**伺服器**得到最新的版本,然後幹活,幹完後,需要把自己做完的活推送到**伺服器。集中式版本控制系統是必須聯網才能工作,如果在區域網還可以,頻寬夠大,速度夠快

git是分布式版本控制系統,那麼它就沒有**伺服器的,每個人的電腦就是乙個完整的版本庫,這樣,工作的時候就不需要聯網了,因為版本都是在自己的電腦上。既然每個人的電腦都有乙個完整的版本庫,那多個人如何協作呢?比如說自己在電腦上改了檔案a,其他人也在電腦上改了檔案a,這時,你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

git幾個主要概念:遠端倉庫、本地倉庫、暫存區

日常辦公中主要**操作:

git add .把自己修改後的**放到暫存區->git pull 將遠端倉庫最新**下拉到本地(實際上執行git fetch+git merge -> git commit -m 'change aaa' 從暫存區提交到本地倉庫->git push 將本地倉庫**推送到遠端倉庫

本地**上傳到gitlab/github步驟:

首先要在在github/gitlab中新建專案react-redux-cli

1.在本地目錄zhunions目錄下初始化本地倉庫

git init
2.建立.gitignore readme.md檔案

3.本地提交

git add . 提交當前目錄

git commit -m "first commit"

4.新增遠端關聯

git remote add origin
5.本地分支與遠端分支關聯,並推送到遠端倉庫

git push --set-upstream origin master 或者 git push -u origin master
以上5步可以完成本地倉庫和分支與遠端倉庫和分支的關聯.

執行所有操作後,有如下結果:

a.產生本地分支master

b.與本地倉庫關聯的遠端倉庫origin

c.與本地分支關聯的遠端分支master

d.本地**全部提交到了遠端倉庫,可以共享了

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

基本操作

1,cd  路徑   //進入路徑進行操作

2,git status //檢視哪些檔案變動

3,git diff 檔名  //檢視檔案具體修改資訊

4,git rm  //刪除檔案

5,git checkout  aa //切換到aa分支

6,git push origindaily1:daily //把當前daily1分支 合併並建立遠端daily分支  等同於切換到daily分之後執行git push --set-upstream origin daily1  或者git push -u origin/daily1

7,git checkout -b daily/3.0.0       /*籤出新分支*/

版本回退

1,git log -pretty=oneline  //檢視日誌

2,git reset --hard head^ //回退乙個版本;git reset -hard head^^ 回退兩個版本;git reset -hard head~100回退100個版本

遠端建立乙個主分支master,每人建立乙個功能分支,工作流程(本地分支work):

1,work 本地工作

2,git add . ---> git commit -m 改動檔案提交git倉庫

3,git checkout master 切換到主分支master

4,git pull 主分支獲取到遠端最新資料

5,git checkout work 回到本地分支

6,git rebase master 合併主幹修改 可能需要修改衝突 修改完之後git rebase --continue繼續後續步驟

7,git checkout master 回到主分支

8,git merge work 合併功能分支修改

9,git push 提交修改到遠端

merge跟rebase的區別:

d---e test  

/  a---b---c---f master  

使用merge合併:

d--------e  

/          \  

a---b---c---f----g   test, master  

使用rebase合併:

a---b---d---e---c'---f'   test, master  

merge會生成新節點,分支提交分開顯示。rebase則是復位基底,分支融合成線性提交。在主分支master上使用merge,在分支上使用rebase合併。

問題:最近pull **有提示

couldn't find remote ref daily/0.1.2,

找不到遠端分支。

git branch -a檢視本地和遠端所有分支:但是不能及時更新,git ls-remote origin不會有未更新的情況

* daily/0.1.2

daily/0.2.0

master

remotes/origin/head

-> origin/master

remotes/origin/daily/0.1.2

remotes/origin/daily/0.2.0

remotes/origin/master

可見,遠端倉庫是有daily/0.1.2分支的,

cat .git/config檢視各個分支的配置

Git命令整理

回退上一版本 git reset hard head head is now at ea34578 add distributed 檢視分支 git branch 建立分支 git branch 切換分支 git checkout 建立 切換分支 git checkout b 合併某分支到當前分支 ...

git命令整理

git init 建立本地倉庫 git status 檢視狀態 git add 將檔案提交到暫存區 或者也可以 git add 檔案名字 git commit m aaa 將暫存區的檔案提交到倉庫 引號裡面的東西隨便寫他只是方便記憶的 git log 檢視歷史記錄 git reflog 檢視操作命令...

git 命令整理

建立分支 git branch 切換分支 git checkout 建立分支並切到已建立分支 git checkout b 檢視已有分支 git branch 拉取最新 git pull 新增到本地索引庫 git add add後面有空格,空格後面有 點 提交所有有修改的檔案 git add pat...