色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

版本控制工具,什么是版本控制系統(tǒng)?

玩轉嵌入式 ? 來源:玩轉嵌入式 ? 2023-04-19 11:21 ? 次閱讀

一、 版本控制工具

1.1. 什么是版本控制系統(tǒng)

版本控制系統(tǒng)(Version Control System):是一種記錄一個或若干文件內容變化,以便將來查閱特定版本修訂情況的系統(tǒng)。版本控制系統(tǒng)不僅可以應用于軟件源代碼的文本文件,而且可以對任何類型的文件進行版本控制。

常見的版本控制系統(tǒng)有:cvs、svn、git

1.2. 為什么要有版本控制系統(tǒng)?

  1. 在開發(fā)過程中,經常需要對一個文件進行修改甚至刪除,但是我們又希望能夠保存這個文件的歷史記錄,如果通過備份,那么管理起來會非常的復雜。

  2. 在多人開發(fā)時,如果需要多人合作開發(fā)一個頁面,那么修改以及合并也會非常的棘手。容易出現(xiàn)沖突。

1.3. 版本控制系統(tǒng)分類

關于版本控制

本地版本控制系統(tǒng)

本地版本控制系統(tǒng)就是在一臺機器上,記錄版本的不同變化,保證內容不會丟失

缺點:如果多人開發(fā),每個人都在不同的系統(tǒng)和電腦上開發(fā),沒辦法協(xié)同工作。

集中式版本控制系統(tǒng)

svn/cvs都是集中式的版本控制系統(tǒng)

  1. 需要一個中央服務器來管理代碼的的版本和備份

  2. 所有的用戶電腦都是從中央服務器獲取代碼或者是將本地的代碼提交到中央服務器

  3. 依賴于網絡環(huán)境,如果連不上中央服務器,就無法提交和獲取代碼。

  4. 如果中央服務器宕機,所有人都無法工作。

8d9ebdec-de60-11ed-bfe3-dac502259ad0.jpg

分布式版本控制系統(tǒng)

git是分布式的版本控制系統(tǒng)。

  1. 需要一臺服務器作為代碼倉庫

  2. 每個用戶電腦都是一個服務器(代碼倉庫),并且和代碼倉庫是鏡像的,用戶修改和獲取代碼都是提交到自己的服務器當中。

  3. 不需要網絡就可以進行工作。

  4. 當連接網絡時,用戶可以選擇將自己的服務器與代碼倉庫進行同步。

8dc20b30-de60-11ed-bfe3-dac502259ad0.jpg

二、 git

2.1. git介紹

Git是一款免費、開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項目。

Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。

2.2. git安裝

下載地址

#  推薦使用國內鏡像下載 http://npm.taobao.org/mirrors/git-for-windows
1. 不要安裝在中文目錄
2. 不要使用桌面管理軟件

安裝很簡單,一直下一步即可。在任意的目錄下右鍵,能夠出現(xiàn)下圖,表示安裝成功了。

8dd68d3a-de60-11ed-bfe3-dac502259ad0.jpg

git用法方式主要有兩種,

  • git gui,即圖形化界面的方式

  • git bash,命令行的方式

bash是linux系統(tǒng)的命令,因此學習git前,我們先學習一下bash

  1. 在任意文件夾中,都可以使用右鍵,通過git bash here打開命令行窗口,此時的路徑就是當前目錄。

  2. 窗口上右鍵,通過options-->Text-->select可以調整字體的大小。

# cd 改變目錄  (change directory)
cd images   #進入images文件夾
cd ..      #進入上一層目錄
cd ~       #進入用戶根目錄

# tab  自動補全,當我們輸命令或者目錄很長時,可以使用tab鍵進行自動補全。
# 按兩次tab,會把所有符合要求的內容都列出來。

# pwd 打印當前目錄的路徑 (print work directory)
pwd


# ls 展示當前目錄列表(list)
ls         # 展示當前目錄
ls -a      # 展示全部內容,包括隱藏文件
ls -l      # 以列表的形式展示內容
ls -al     # 以列表的形式展示所有的內容,包括隱藏文件。
ls --help  # 查看ls所有的參數(shù)
ls -l images   # 展示images目錄下的文件,如果沒有寫目錄,默認展示當前目錄。


# clear reset清屏
clear  # 清除屏幕內容,滾動條,保留了歷史
reset  # 重置,歷史記錄沒了。


# mkdir  創(chuàng)建一個文件夾 (make directory)
mkdir css          # 創(chuàng)建一個css的文件夾
mkdir css img js   # 創(chuàng)建了三個文件夾

# rmdir  刪除一個空的文件夾(沒啥用)
rmdir img   # 刪除文件夾

# touch  創(chuàng)建文件
touch index.html   #創(chuàng)建了一個index.html文件
touch css/index.css # 在css目錄下創(chuàng)建idnex.css文件

# rm 刪除一個文件獲取文件夾
rm index.html # 刪除index.html文件
rm js         # 刪除空的js文件夾
rm -r css     # 遞歸刪除一個文件夾

# mv 移動文件(move)
mv index.html js            # 將html文件移動到js文件夾中
mv index.html index2.html   # 將index.html重命名為index2.html

# cp 復制文件(cp)
cp index.html index2.html   # 復制index.html文件,命名為index2.html
cp -r css css02             # 如果復制的是文件夾,需要使用-r參數(shù)。

# cat 查看文件全部內容
cat index.html
# less 查看文件部分內容
less index.html
# q退出查看

2.3. 基本操作

  1. 初始化git倉庫git init

  2. 查看當前git倉庫的狀態(tài)git status

  3. 將文件添加到git的暫存區(qū)git add 文件名

  4. 將文件由暫存區(qū)提交到倉庫區(qū)git commit -m '提交說明'

  5. 查看提交日志git log

# 初始化git倉庫,會在當前目錄生成一個隱藏文件夾 .git  不要去修改這個文件夾下的任意東西。
git init

# 查看git的狀態(tài) ,如果此時新建一個文件,那么這個文件是沒有被追蹤的,說白了git還沒有管理這個新建的文件
git status 

# 讓git管理這個新建的文件
git add index.html

# 讓文件由暫存區(qū)提交到倉庫區(qū)。此時文件才真正的被git管理了。
# 如果提交日志亂碼,右鍵-->options-->Text-->將編碼改成utf-8
git commit -m '第一次提交'

# 查看提交日志
git log

2.4. 配置郵箱和用戶名

如果第一次使用git,會要求設置用戶名和郵箱

# git config  user.name 你的目標用戶名
# git config  user.email 你的目標郵箱名
# 這種配置方式只有在當前倉庫生效
git config user.name shuaige
git config user.email 669104343@qq.com

# 可以使用--global參數(shù),配置全局的用戶名和郵箱,這樣別的git倉庫就不需要重新配置了。
# 如果同時配置了局部的和全局的,那么局部的用戶名和郵箱將會生效。
git config  --global user.name shuaige
git config  --global user.email 669104343@qq.com

# 查看配置信息
git config --list

2.5. git的工作原理

8df68018-de60-11ed-bfe3-dac502259ad0.png

2.6. git命令詳解

2.6.1. git add(重點)

  • 作用:將文件由 工作區(qū) 添加到 暫存區(qū),暫存文件

  • 命令:

git git add 文件名

  • 例如:git add index.html

  • git add --all或者git add -A或者git add .(簡寫) 添加所有文件

  • git add a.txt b.txt同時添加兩個文件

  • git add *.js添加當前目錄下的所有js文件

2.6.2. git checkout 文件名

  • 作用:暫存區(qū)的內容恢復到工作區(qū)。

  • git checkout 1.txt將暫存區(qū)中1.txt文件恢復到工作區(qū)

2.6.3. git commit(重點)

  • 作用:將文件由 暫存區(qū) 添加到 倉庫區(qū)

  • git commit -m "提交說明"

2.6.4. git status

  • 作用:查看文件的狀態(tài)

  • 命令:git status

  • 命令:git stauts -s簡化日志輸出格式

2.6.5. git log

  • 作用:查看提交日志

  • git log只能查看當前head以及以前的日志

  • git log --oneline簡潔的日志信息

  • git reflog查看所有的提交變更日志

2.6.6. git reset

  • 作用:版本回退,將代碼恢復到已經提交的某一個版本中。

  • git reset --hard 版本號將代碼回退到某個指定的版本(版本號只要有前幾位即可)

  • git reset --hard head~1

將版本回退到上一次提交

  • ~1:上一次提交

  • ~2:上上次提交

  • ~0:當前提交

2.7. git忽視文件

在倉庫中,有些文件是不想被git管理的,比如數(shù)據(jù)的配置密碼、寫代碼的一些思路等。git可以通過配置從而達到忽視掉一些文件,這樣這些文件就可以不用提交了。

  • 在倉庫的根目錄創(chuàng)建一個.gitignore的文件,文件名是固定的。

  • 將不需要被git管理的文件路徑添加到.gitignore

# 忽視idea.txt文件
idea.txt

# 忽視.gitignore文件
.gitignore

# 忽視css下的index.js文件
css/index.js

# 忽視css下的所有的js文件
css/*.js

# 忽視css下的所有文件
css/*.*
# 忽視css文件夾
css

三、 git分支操作

分支就是科幻電影里面的平行宇宙,當你正在電腦前努力學習Git的時候,另一個你正在另一個平行宇宙里努力學習SVN。

如果兩個平行宇宙互不干擾,那對現(xiàn)在的你也沒啥影響。不過,在某個時間點,兩個平行宇宙合并了,結果,你既學會了Git又學會了SVN!

3.1. 為什么要有分支?

  • 如果你要開發(fā)一個新的功能,需要2周時間,第一周你只能寫50%代碼,如果此時立即提交,代碼沒寫完,不完整的代碼會影響到別人無法工作。如果等代碼寫完再提交,代碼很容易丟失,風險很大。

  • 有了分支,你就可以創(chuàng)建一個屬于自己的分支,別人看不到,也不影響別人,你在自己的分支上工作,提交到自己的分支上,等到功能開發(fā)完畢,一次性的合并到原來的分支。這樣既安全,又不影響他人工作。

  • 在工作過程中,經常會碰到多任務并行開發(fā)的情況,使用分支就能很好的避免任務之間的影響。

  • 其他版本工具比如svn,cvs中也有分支這個概念,但是這些工具中的分支操作非常的慢,形同擺設。

3.2. 分支操作的命令

3.2.1. 創(chuàng)建分支

  • git branch 分支名稱創(chuàng)建分支,分支中的代碼,在創(chuàng)建時與當前分支的內容完全相同。

  • git在第一次提交時,就有了一個叫master的主分支。

3.2.2. 查看分支

  • git branch可以查看所有的分支,

  • 在當前分支的前面會有一個*

3.2.3. 切換分支

  • git checkout 分支名稱切換分支

  • 在當前分支的任何操作,都不會影響到其他的分支,除非進行了分支合并。

  • 切換分支之前,必須保證代碼已經提交了

3.2.4. 創(chuàng)建并切換分支

  • git checkout -b 分支名稱創(chuàng)建并切換分支

3.2.5. 刪除分支

  • git branch -d 分支名稱可以刪除分支

  • 注意:不能在當前分支刪除當前分支,需要切換到其他分支才能刪除。

  • 注意:master分支是可以刪除的,但是不推薦那么做。

3.2.6. 合并分支

  • git merge 分支名稱將其他分支的內容合并到當前分支。

  • master分支中執(zhí)行git merge devdev分支中的代碼合并到master分支

3.3. git分支的工作原理

8e34362e-de60-11ed-bfe3-dac502259ad0.png

3.4. git合并沖突

  • 對于同一個文件,如果有多個分支需要合并時,容易出現(xiàn)沖突。

  • 合并分支時,如果出現(xiàn)沖突,只能手動處理,再次提交,一般的作法,把自己的代碼放到沖突代碼的后面即可。

四、遠程倉庫

所有的程序員都可以通過遠程倉庫來進行版本的共享,達到所有人的代碼一致的效果。

4.1. 遠程倉庫相關的命令

4.1.1. git push

  • 作用:將本地代碼提交到遠程倉庫

  • git push 倉庫地址 master在代碼提交到遠程倉庫,注意master分支必須寫,不能省略

  • 例子:git push git@github.com:hucongcong/test.git master如果第一次使用,需要填寫github的用戶名和密碼

4.1.2. git pull

  • 作用:將遠程的代碼下載到本地

  • git pull 代碼地址將遠程的代碼中master分支下載到本地

  • 通常在push前,需要先pull一次。

4.1.3. git clone

  • 作用:克隆遠程倉庫的代碼到本地

  • git clone 倉庫地址 自定義本地倉庫名將整個倉庫克隆到本地

4.1.4. git remote

每次push和pull操作都需要帶上遠程倉庫的地址,非常的麻煩,我們可以給倉庫地址設置一個別名

  • git remote add 倉庫別名 倉庫地址

使用倉庫別名替代倉庫地址。倉庫別名相當于一個變量,倉庫地址就是對應的值。

  • git remote add hucc git@github.com:hucongcong/test.git設置了一個hucc的倉庫別名,以后push和pull都可以不用倉庫地址,而用hucc

  • git remote remove hucc刪除hucc這個倉庫別名。

  • git remote查看所有的倉庫別名

  • 如果使用了git clone命令從遠程倉庫獲取下來的,那么這個本地倉庫會自動添加一個 origin的遠程地址,指向的就是克隆的遠程地址。

4.2. github

git與github沒有直接的關系。

  • git是一個版本控制工具。

  • github是一個代碼托管平臺,是git的一個遠程代碼倉庫。

  • 將來工作時,公司會有自己的代碼倉庫。

github官網

開源中國-git 碼云

1. gitHub是一個面向開源及私有軟件項目的托管平臺,因為只支持git 作為唯一的版本庫格式進行托管,故名gitHub。
2. github免費,代碼所有人都能看到,但是只有你自己能修改。付費的可以隱藏。

在github上創(chuàng)建一個項目,獲取到倉庫的地址。然后就可以將本地的代碼推送到遠程的服務器上。

4.3. SSH免密碼登陸

(對稱加密與非對稱加密)

每次push代碼,都需要輸入用戶名跟密碼,非常的麻煩。因此我們可以配置一個SSH免密碼登陸。

  • github為了賬戶的安全,需要對每一次push請求都要驗證用戶的身份,只有合法的用戶才可以push

  • 使用ssh可以實現(xiàn)免密碼操作(不需要使用密碼)

4.3.1. SSH免密碼登錄配置

  • 1 創(chuàng)建SSH Key:ssh-keygen -t rsa

  • 2 在文件路徑C:用戶當前用戶名找到.ssh文件夾

  • 3 文件夾中有兩個文件:

  • 私鑰:id_rsa

  • 公鑰:id_rsa.pub

  • 4 在github -> settings -> SSH and GPG keys頁面中,新創(chuàng)建SSH key

  • 5 粘貼 公鑰id_rsa.pub內容到對應文本框中

  • 5 在github中新建倉庫或者使用現(xiàn)在倉庫,拿到git@github.com:用戶名/倉庫名.git

  • 6 此后,再次SSH方式與github“通信”,不用輸入密碼確認身份了

五、idea集成git

5.1.idea配置git

首先,確保本地已經安裝過git客戶端,idea會進行自動檢測,如果沒有,或者想進行手動調整,需要在這里重新配置。配置成功之后可以通過點擊Test按鈕測試是否OK!

8e4c76b2-de60-11ed-bfe3-dac502259ad0.jpg

5.2:idea上傳項目到本地倉庫

8e649f8a-de60-11ed-bfe3-dac502259ad0.jpg

8e8192e8-de60-11ed-bfe3-dac502259ad0.png

選中指定項目右鍵,選擇Git將項目添加到版本控制,然后使用Commit Directory提交項目到本地倉庫。

8e9ca6f0-de60-11ed-bfe3-dac502259ad0.jpg

8eb033b4-de60-11ed-bfe3-dac502259ad0.jpg

8ec9577c-de60-11ed-bfe3-dac502259ad0.jpg

5.3:將本地倉庫項目推送到遠程倉庫

8eddeca0-de60-11ed-bfe3-dac502259ad0.jpg

8ef820de-de60-11ed-bfe3-dac502259ad0.png

8f10f32a-de60-11ed-bfe3-dac502259ad0.png

8f29a4ba-de60-11ed-bfe3-dac502259ad0.jpg

注意:如果沒有配置ssh公鑰,第一次本地推送,需要輸入GitHub或gitee遠程倉庫用戶名密碼。

5.4:idea設置git忽略部分文件

0、安裝.ignore插件

點擊File->Settings ,找到Plugins搜索ignore,然后install,OK重啟idea

8f4581da-de60-11ed-bfe3-dac502259ad0.jpg

1、創(chuàng)建項目,在項目中添加.gitignore文件

8f615c66-de60-11ed-bfe3-dac502259ad0.jpg

8f7dbdb6-de60-11ed-bfe3-dac502259ad0.png

8fa1cce2-de60-11ed-bfe3-dac502259ad0.png

建議.gitignore文件內容

######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar

target/
!.mvn/wrapper/maven-wrapper.jar

######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out
gen

### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/

######################################################################
# Others
*.log
*.xml.versionsBackup

!*/build/*.java
!*/build/*.html
!*/build/*.xml
# .gitignore文件內容編寫規(guī)則
*.a       # 忽略所有 .a 結尾的文件
!lib.a    # 但 lib.a 除外
/TODO     # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
build/    # 忽略 build/ 目錄下的所有文件
doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt

2、創(chuàng)建本地倉庫

$ git init

3、創(chuàng)建個人分支

$ git checkout -b dev

4、添加文件到版本控制,提交到本地倉庫

$ git add .
$ git commit -m "first commit"

5、推送到遠程倉庫

$ git push  https://gitee.com/liyunyi/ssm.git dev

6、合并分支推送到主分支

$ git checkout master
$ git merge dev
$ git push https://gitee.com/liyunyi/ssm.git master

5.5:克隆遠程倉庫項目到本地

8fbc7538-de60-11ed-bfe3-dac502259ad0.png

8fda139a-de60-11ed-bfe3-dac502259ad0.png

附件:命令大全

8ff53fa8-de60-11ed-bfe3-dac502259ad0.png

  • Workspace:工作區(qū)

  • Index / Stage:暫存區(qū)

  • Repository:倉庫區(qū)(或本地倉庫)

  • Remote:遠程倉庫

1、倉庫

# 在當前目錄新建一個Git代碼庫
$ git init

# 新建一個目錄,將其初始化為Git代碼庫
$ git init [project-name]

# 下載一個項目和它的整個代碼歷史
$ git clone [url]

2、配置

# 顯示當前的Git配置
$ git config --list

# 編輯Git配置文件
$ git config -e [--global]

# 設置提交代碼時的用戶信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"

3、增加/刪除文件

# 添加指定文件到暫存區(qū)
$ git add [file1] [file2] ...

# 添加指定目錄到暫存區(qū),包括子目錄
$ git add [dir]

# 添加當前目錄的所有文件到暫存區(qū)
$ git add .

# 添加每個變化前,都會要求確認
# 對于同一個文件的多處變化,可以實現(xiàn)分次提交
$ git add -p

# 刪除工作區(qū)文件,并且將這次刪除放入暫存區(qū)
$ git rm [file1] [file2] ...

# 停止追蹤指定文件,但該文件會保留在工作區(qū)
$ git rm --cached [file]

# 改名文件,并且將這個改名放入暫存區(qū)
$ git mv [file-original] [file-renamed]

4、代碼提交

# 提交暫存區(qū)到倉庫區(qū)
$ git commit -m [message]

# 提交暫存區(qū)的指定文件到倉庫區(qū)
$ git commit [file1] [file2] ... -m [message]

# 提交工作區(qū)自上次commit之后的變化,直接到倉庫區(qū)
$ git commit -a

# 提交時顯示所有diff信息
$ git commit -v

# 使用一次新的commit,替代上一次提交
# 如果代碼沒有任何新變化,則用來改寫上一次commit的提交信息
$ git commit --amend -m [message]

# 重做上一次commit,并包括指定文件的新變化
$ git commit --amend [file1] [file2] ...

5、分支

# 列出所有本地分支
$ git branch

# 列出所有遠程分支
$ git branch -r

# 列出所有本地分支和遠程分支
$ git branch -a

# 新建一個分支,但依然停留在當前分支
$ git branch [branch-name]

# 新建一個分支,并切換到該分支
$ git checkout -b [branch]

# 新建一個分支,指向指定commit
$ git branch [branch] [commit]

# 新建一個分支,與指定的遠程分支建立追蹤關系
$ git branch --track [branch] [remote-branch]

# 切換到指定分支,并更新工作區(qū)
$ git checkout [branch-name]

# 切換到上一個分支
$ git checkout -

# 建立追蹤關系,在現(xiàn)有分支與指定的遠程分支之間
$ git branch --set-upstream [branch] [remote-branch]

# 合并指定分支到當前分支
$ git merge [branch]

# 選擇一個commit,合并進當前分支
$ git cherry-pick [commit]

# 刪除分支
$ git branch -d [branch-name]

# 刪除遠程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

6、標簽

# 列出所有tag
$ git tag

# 新建一個tag在當前commit
$ git tag [tag]

# 新建一個tag在指定commit
$ git tag [tag] [commit]

# 刪除本地tag
$ git tag -d [tag]

# 刪除遠程tag
$ git push origin :refs/tags/[tagName]

# 查看tag信息
$ git show [tag]

# 提交指定tag
$ git push [remote] [tag]

# 提交所有tag
$ git push [remote] --tags

# 新建一個分支,指向某個tag
$ git checkout -b [branch] [tag]

7、查看信息

# 顯示有變更的文件
$ git status

# 顯示當前分支的版本歷史
$ git log

# 顯示commit歷史,以及每次commit發(fā)生變更的文件
$ git log --stat

# 搜索提交歷史,根據(jù)關鍵詞
$ git log -S [keyword]

# 顯示某個commit之后的所有變動,每個commit占據(jù)一行
$ git log [tag] HEAD --pretty=format:%s

# 顯示某個commit之后的所有變動,其"提交說明"必須符合搜索條件
$ git log [tag] HEAD --grep feature

# 顯示某個文件的版本歷史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]

# 顯示指定文件相關的每一次diff
$ git log -p [file]

# 顯示過去5次提交
$ git log -5 --pretty --oneline

# 顯示所有提交過的用戶,按提交次數(shù)排序
$ git shortlog -sn

# 顯示指定文件是什么人在什么時間修改過
$ git blame [file]

# 顯示暫存區(qū)和工作區(qū)的差異
$ git diff

# 顯示暫存區(qū)和上一個commit的差異
$ git diff --cached [file]

# 顯示工作區(qū)與當前分支最新commit之間的差異
$ git diff HEAD

# 顯示兩次提交之間的差異
$ git diff [first-branch]...[second-branch]

# 顯示今天你寫了多少行代碼
$ git diff --shortstat "@{0 day ago}"

# 顯示某次提交的元數(shù)據(jù)和內容變化
$ git show [commit]

# 顯示某次提交發(fā)生變化的文件
$ git show --name-only [commit]

# 顯示某次提交時,某個文件的內容
$ git show [commit]:[filename]

# 顯示當前分支的最近幾次提交
$ git reflog

8、遠程同步

# 下載遠程倉庫的所有變動
$ git fetch [remote]

# 顯示所有遠程倉庫
$ git remote -v

# 顯示某個遠程倉庫的信息
$ git remote show [remote]

# 增加一個新的遠程倉庫,并命名
$ git remote add [shortname] [url]

# 取回遠程倉庫的變化,并與本地分支合并
$ git pull [remote] [branch]

# 上傳本地指定分支到遠程倉庫
$ git push [remote] [branch]

# 強行推送當前分支到遠程倉庫,即使有沖突
$ git push [remote] --force

# 推送所有分支到遠程倉庫
$ git push [remote] --all

9、撤銷

# 恢復暫存區(qū)的指定文件到工作區(qū)
$ git checkout [file]

# 恢復某個commit的指定文件到暫存區(qū)和工作區(qū)
$ git checkout [commit] [file]

# 恢復暫存區(qū)的所有文件到工作區(qū)
$ git checkout .

# 重置暫存區(qū)的指定文件,與上一次commit保持一致,但工作區(qū)不變
$ git reset [file]

# 重置暫存區(qū)與工作區(qū),與上一次commit保持一致
$ git reset --hard

# 重置當前分支的指針為指定commit,同時重置暫存區(qū),但工作區(qū)不變
$ git reset [commit]

# 重置當前分支的HEAD為指定commit,同時重置暫存區(qū)和工作區(qū),與指定commit一致
$ git reset --hard [commit]

# 重置當前HEAD為指定commit,但保持暫存區(qū)和工作區(qū)不變
$ git reset --keep [commit]

# 新建一個commit,用來撤銷指定commit
# 后者的所有變化都將被前者抵消,并且應用到當前分支
$ git revert [commit]

# 暫時將未提交的變化移除,稍后再移入
$ git stash
$ git stash pop

10、其他

# 生成一個可供發(fā)布的壓縮包
$ git archive


審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制系統(tǒng)

    關注

    41

    文章

    6604

    瀏覽量

    110577
  • 服務器
    +關注

    關注

    12

    文章

    9123

    瀏覽量

    85331
  • 代碼
    +關注

    關注

    30

    文章

    4779

    瀏覽量

    68527

原文標題:10、其他

文章出處:【微信號:玩轉嵌入式,微信公眾號:玩轉嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    正規(guī)和臨時版本控制的EDA工具之間有何差異?

    對于任何一位電子工程師來說,版本控制都是一個強大的工具。Aberdeen Group在2011年的研究結果即是很好的證明。研究表明,61%的一流公司(或者行業(yè)中前20%的領先企業(yè))使用版本
    發(fā)表于 05-31 15:22 ?1643次閱讀

    集中式的版本控制和分布式版本控制介紹

    版本控制系統(tǒng)就是一種用于多人協(xié)同開發(fā)的技術,可以管理我們對文件、目錄或工程等內容的修改歷史,方便查看更改歷史記錄,還可以恢復以前的版本
    的頭像 發(fā)表于 10-14 10:00 ?1954次閱讀

    請問有GIT版本控制系統(tǒng)教程嗎?

    嗨,我想開始使用Git版本控制系統(tǒng)。我從來沒有用過它,想通過一個教程。有一個微芯片GIT教程嗎?謝謝
    發(fā)表于 09-04 12:25

    怎么使cysch文件文本基于版本控制

    幾年前,鷹CAD將它們的二進制BLB圖式文件轉換為XML格式。這使得他們對Git等修訂控制系統(tǒng)更加友好。你能為CysCH文件做同樣的事情嗎?甚至更好的是一個“視覺”版本控制系統(tǒng),使我可以看到不同的視覺圖表,而不是他們的文本表示。
    發(fā)表于 10-17 10:10

    什么是版本控制

    思想之一。那些年,我們的畢業(yè)論文,其實就是版本變更的真實寫照…腦洞一下,版本控制就是這些論文變更的管理~什么是集中化的版本控制系統(tǒng)?那么,集
    發(fā)表于 07-19 08:21

    什么是版本控制?git代碼為什么需要版本控制

    系列之嵌入式開發(fā)-git代碼管理第一章 [嵌入式開發(fā)-git代碼管理之git的安裝]文章目錄系列之嵌入式開發(fā)-git代碼管理前言一、為什么需要版本控制?1.什么是版本控制2.
    發(fā)表于 12-21 07:25

    支持需求追蹤的版本控制機制

    版本控制是增強軟件可維護性的重要方法,但目前常用的版本控制機制缺乏對需求的可追蹤性支持。該文提出一種支持需求追蹤的版本
    發(fā)表于 04-02 08:48 ?0次下載

    通用版本控制系統(tǒng)的研究和設計

    針對軟件配置管理和大規(guī)模數(shù)據(jù)處理領域對歷史記錄回放的要求,設計一種通用版本控制系統(tǒng)模型,實現(xiàn)目錄和元數(shù)據(jù)的版本化及抽象的網絡層。使用拷貝-修改-合并模型解決文件共
    發(fā)表于 04-21 09:17 ?0次下載

    Vivado Design Suite搭配版本控制系統(tǒng)進行使用

    了解將Vivado Design Suite與版本控制系統(tǒng)配合使用的最佳實踐。 修訂控制系統(tǒng)用于嚴格控制復雜工具編輯的質量; 允許開發(fā)人
    的頭像 發(fā)表于 11-20 07:00 ?3999次閱讀

    Freelance 2019發(fā)布 是分布式控制系統(tǒng)的最新版本

    Freelance最初版本發(fā)布于1994年,是ABB針對過程工業(yè)提供的經濟高效的分布式控制系統(tǒng)(DCS)解決方案。它結合了DCS與可編程邏輯控制器(PLC)的優(yōu)點,具有易用性、可擴展性、靈活性和可靠性的特點。Freelance
    發(fā)表于 12-06 16:19 ?4992次閱讀

    開源的分布式版本控制系統(tǒng)Git配置

    ? 今天帶著大家來學習Git,這是一個開源的分布式版本控制系統(tǒng),幫助我們進行項目的管理更迭。 其實關于Git的命令也不是一定需要記憶,但畢竟是效率型工具,對于一些常見的命令掌握清楚,對于開發(fā)的進展
    的頭像 發(fā)表于 03-09 13:47 ?1473次閱讀

    世界上最先進分布式版本控制系統(tǒng)Git介紹

    世界上最先進的分布式版本控制系統(tǒng)。 簡單理解版本控制就是:比如你修改了代碼,然后提交修改,系統(tǒng)就幫你做個記錄,某時某刻誰誰做了什么修改,和之
    的頭像 發(fā)表于 06-09 17:40 ?2015次閱讀

    選擇版本控制系統(tǒng)的7個步驟

      總之,更改版本管理系統(tǒng)似乎令人生畏和復雜,但通過遵循一些簡單的“最佳實踐”步驟,這意味著嵌入式計算設計人員可以獲得現(xiàn)代版本控制系統(tǒng)所提供的可觀的商業(yè)和運營優(yōu)勢——就在其業(yè)務功能中。
    的頭像 發(fā)表于 06-21 14:12 ?886次閱讀

    一文搞懂版本控制與Git

    在這個碼代碼的時代,我們越來越離不開版本控制工具。而在眾多版本控制工具中,Git無疑是最為強大和
    的頭像 發(fā)表于 10-20 09:46 ?441次閱讀
    一文搞懂<b class='flag-5'>版本</b><b class='flag-5'>控制</b>與Git

    Perforce演講回顧(下):版本控制系統(tǒng)Helix Core的常見使用誤區(qū)及解決辦法、實用工具及新功能介紹

    日前,Perforce攜手合作伙伴龍智一同亮相UnrealFest2024上海站,分享HelixCore版本控制系統(tǒng)及其協(xié)作套件的強大功能與最新動態(tài),助力游戲創(chuàng)意產業(yè)加速前行。Perforce
    的頭像 發(fā)表于 10-08 16:18 ?357次閱讀
    Perforce演講回顧(下):<b class='flag-5'>版本</b><b class='flag-5'>控制系統(tǒng)</b>Helix Core的常見使用誤區(qū)及解決辦法、實用<b class='flag-5'>工具</b>及新功能介紹
    主站蜘蛛池模板: 我的好妈妈8高清在线观看WWW| 亚洲刺激视频| 在线亚洲中文精品第1页| 厕所RXXX| 美女的避毛| 亚洲中文在线偷拍| 国产激情一级毛片久久久| 欧美 亚洲 有码中文字幕| 永久免费看bbb| 激情午夜307| 性满足久久久久久久久| jj插入bb| 久久九九免费| 亚洲欧美国产综合在线一区| 国产AV果冻传奇麻豆| 日本无码毛片久久久九色综合| 中文字幕在线观看网址| 精品久久久久中文字幕日本| 香港成人社区| 国产色欲一区二区精品久久呦| 色姊姊真舒服| 国产成人精品视频播放| 色欲AV精品一区二区入口| 99久久99久久免费精品蜜桃 | 晓雪老师我要进你里面好爽| 成年视频国产免费观看| 披黑人猛躁10次高潮| 啊轻点啊再深点视频免费| 秋霞电影伦网理最新在线看片| 99日精品欧美国产| 欧美精品中文字幕亚洲专区| 97久久超碰中文字幕| 免费观看a视频| 久久欧洲AV无码精品色午夜麻豆| 黄色网址在线免费观看| 国产亚洲欧美高清在线| 久久re这里精品在线视频7| 毛片内射久久久一区| 亚洲欧美日韩在线码不卡| 亚州综人网| 最近中文字幕2019国语4|