工程協作工具(一)git
【一】git安裝
1.window安裝
https://git-scm.com/downloads下載windows版本,安裝即可
開啟git bash
輸入初始化的使用者名稱和密碼
$ git config --global user.name "jiangzengkui"
$ git config --global user.email "
676047198@qq.com"
|
如果不初始化,則
【二】基本操作命令集
注意都是在git bash視窗裡操作的,不是dos
git init
|
.初始化 git init
cd到存放倉庫的目錄,執行 git init命令,生成一個.git的隱藏資料夾
|
git add
|
把檔案放入暫存區
git add . 當前目錄的所有未暫存的檔案暫存起來,*表示所有檔案
git add a.txt b.txt、
兩個檔案
git add documentation/*.txt
新增
documentation
目錄及其子目錄下所有
*.txt
檔案的內容
|
git commit -m
|
把暫存區的檔案提交到本地倉庫
git commit -m "這裡寫的是備註"
|
git log
|
顯示commit的歷史資訊
|
git reset
|
git reset --hard head^ 回退到上一個版本
git reset --hard head^^ 回退到上上個版本
git reset --hard head~100 回退到之前100個版本
2.回滾到指定版本
git reset --hard 版本id
版本id是commitId,寫前幾位即可
eg:
$
git reset --hard bc999ea9f0
注意回退是已經commit的版本,可以回退也可以前進
|
git reflog |
顯示執行過得所有命令集,與關閉視窗無關,
找到一次操作的commitID就可以用git reset 回到這一步了
|
git status
|
檢視檔案沒有被
commit的檔案狀態git操作狀態(包含沒有add和commit的檔案)
eg:
兩個檔案
a1.txt檔案,表示是commit後又被修改過,狀態為:modiffied
index.html 表示是沒有任何操作,才新增的,狀態為:untracked
|
工作區/暫存區
|
git的規則是add進入暫存區stage,commit則進去版本庫
|
git diff
比較
|
檔案對比
1. git diff filepath 工作區與暫存區比較
git diff 是所有檔案對比
git diff f1.txt 制定檔案對比
2. git diff HEAD filepath 工作區與HEAD ( 當前工作分支) 比較
3. git diff --staged 或 --cached filepath 暫存區與HEAD比較
4. git diff branchName filepath 當前分支的檔案與branchName 分支的檔案進行比較
5. git diff commitId filepath 與某一次提交進行比較
|
git checkout
git reset HEAD <file>
|
場景1:
把工作區的內容恢復到上個暫存區的狀態【沒有add】,就是丟棄工作區的修改
場景2:
當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改
分兩步,第一步用命令
git reset HEAD <file>
,就回到了場景1,第二步按場景1操作。
場景3:
|
git rm |
刪除檔案
先git rm 檔名 在commit就可以了
|
git show
|
1.檢視最新的commit
git show
2.檢視指定commit hashID的所有修改:
git show commitId
3.檢視某次commit中具體某個檔案的修改:
git show commitId fileName
|
|
|
|
|
|
|
本地已有倉庫新增到遠端倉庫
場景:
先有本地庫,後有遠端庫的時候,如何關聯遠端庫。
在github上建立一個空遠端倉庫
獲得提示如下
1.建立一個本地新倉庫與遠端倉庫關聯
echo "# wetest" >> README.md
git init
git add README.md
git commit -m "first commit"
#和遠端的倉庫對接
jiangzengkui是賬號,wetest.git是具體倉庫地址
git remote add origin
git@github.com
:jiangzengkui/wetest.git
#把本地的推送到遠端的master分支上
由於遠端庫是空的,我們第一次推送
master
分支時,加上了
-u
引數,Git不但會把本地的
master
分支內容推送的遠端新的
master
分支,還會把本地的
master
分支和遠端的
master
分支關聯起來,在以後的推送或者拉取時就可以簡化命令。
origin master
以後本地修改後,要提交到遠端倉庫,用git push origin master就可以了,不需要加 -u
|
2.如果本地已經有個倉庫,需要把本地倉庫和遠端一個空倉庫關聯
關聯遠端庫:git remote add origin(可修改) branch_Name(為空時預設為master) url
關聯之後可以用git remote -v 來檢查是否關聯成功
git remote add origin
git@github.com:jiangzengkui/wetest.git
git push -u origin master
|
注意:本地工作區目錄名和遠端倉庫名沒有必然聯絡
小結
(1)要關聯一個遠端庫,使用命令
git remote add origin git@server-name:path/repo-name.git
;
(2)關聯後,使用命令
git push -u origin master
第一次推送master分支的所有內容;
此後,每次本地提交後,只要有必要,就可以使用命令
git push origin master
推送最新修改;
分散式版本系統的最大好處之一是在本地工作完全不需要考慮遠端庫的存在,也就是有沒有聯網都可以正常工作,
而SVN在沒有聯網的時候是拒絕幹活的!當有網路的時候,再把本地提交推送一下就完成了同步,真是太方便了!
$ git push origin
上面命令表示,將當前分支推送到
origin主機的對應分支。
如果當前分支只有一個追蹤分支,那麼主機名都可以省略。
$ git push 如果當前分支與多個主機存在追蹤關係,那麼這個時候
-u選項會指定一個預設主機,這樣後面就可以不加任何引數使用
git push。
$ git push -u origin master 上面命令將本地的
master分支推送到
origin主機,同時指定
origin為預設主機,後面就可以不加任何引數使用
git push了。
不帶任何引數的
git push,預設只推送當前分支,這叫做
simple方式。此外,還有一種
matching方式,會推送所有有對應的遠端分支的本地分支。
Git 2.0版本之前,預設採用
matching方法,現在改為預設採用
simple方式。
|
從遠端倉庫克隆到本地倉庫
已經有遠端倉庫,需要clone到本地,形成本地倉庫
1.開啟遠端倉庫,獲得clone地址
2.執行方法 $ git clone 獲得的地址
則在本地git_data資料夾中建立了一個sex的倉庫
cd sex
進入本地倉庫,以後修改就可以用git push origin master 推送到遠端倉庫了
小結
要克隆一個倉庫,首先必須知道倉庫的地址,然後使用
git clone
命令克隆。
Git支援多種協議,包括
https
,但通過
ssh
支援的原生
git
協議速度最快。
分支與合併
git branch <name>
|
建立分支名
git branch 分支名
|
git checkout <name>
| 切換到分支 |
git checkout -b <name> |
建立並切換到分支
|
git merge <name> |
在當前分支下,把指定分支名合併到當前分支
|
git branch -d <name> |
刪除指定分支
|
git branch |
檢視有哪些分支,當前分支加*
|
Git Bash執行命令後,一直出現冒號:,怎麼退出
按Q退出
常見錯誤:
原因:
Permission denied (publickey) 沒有許可權的publickey ,出現這錯誤一般是以下兩種原因
-
客戶端與服務端未生成 ssh key
-
客戶端與服務端的ssh key不匹配
找到問題的原因了,解決辦法也就有了,重新生成一次ssh key ,服務端也重新配置一次即可。
相關文章
- Git bug分支與多人協作Git
- 教你學會Git——團隊協作Git
- 6、Git之團隊協作機制Git
- 『現學現忘』Git基礎 — 5、Git的協作模式Git模式
- 多人協同開發,git workflow 提高團隊協作能力Git
- Git多人協作開發流程分支管理方案Git
- 一杯茶的時間,上手 Git 團隊協作開發Git
- Git應用詳解第六講:Git協作與Git pull常見問題Git
- 無協作,不效率,2021年值得一用的4款協作工具
- 利用Git+GitHub進行團隊協作開發Github
- 《Git團隊協作》之Docker快速搭建GitLab私有倉庫DockerGitlab
- git各種操作:基本操作 and 多人協作 and 衝突解決Git
- 前端專案git操作命名規範和協作開發流程前端Git
- 團隊協作中有哪些必不可少的工具?
- [譯] 設計師與工程師協作的 5 項準則工程師
- Android Studio Git多人協作,分支,合併(基於碼雲倉庫)AndroidGit
- 怎樣選擇合適的協作辦公工具
- 協作3.0時代:華為CloudLink新一代協作智真全球首發Cloud
- 第一次軟體工程作業軟體工程
- 軟體工程第一次作業軟體工程
- 邊城工具集:Fiddle 類工具助力線上測試和協作程式碼
- 將供應商協作提升到一個新的水平 ----實現戰略協作
- Git遠端協作和分支Git
- 克隆git工程檔案的方法Git
- (三)Java工程化–Git起步JavaGit
- 線上協作助力團隊合作:解析多種高效工具實現團隊協同
- 軟體工程的第一次作業軟體工程
- 3121002760軟體工程第一次作業軟體工程
- gaoliping軟體工程第一次作業軟體工程
- 2021軟體工程第一次作業軟體工程
- 2024軟體工程第一次作業軟體工程
- 軟體工程作業軟體工程
- 版本管理工具Git(一)簡要介紹Git
- 訊息協作中心,在家辦公也能高效協作!
- 【git】Ubuntu作業系統上安裝Git LFSGitUbuntu作業系統
- 前端工程工具鏈前端
- Git 2.18版本已支援Git協議v2Git協議
- Git 團隊協同開發Git