久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Debian配置Git

2024-02-01 236

Git 是近年來(lái)被廣泛采用的版本控制系統(tǒng)工具,主要因?yàn)?Git 可以同時(shí)處理本地和遠(yuǎn)程源代碼管理,而且非常適合團(tuán)隊(duì)協(xié)作開(kāi)發(fā)。使用 Git,用戶可以輕松地跟蹤文件的變化、回退到歷史版本、分支管理、合并代碼等操作,非常方便。Debian 能夠提供免費(fèi)的 Git 服務(wù),本文將介紹一些Debian的Git相關(guān)配置。

一、Git軟件包

git 相關(guān)包和命令列表:

軟件包 流行度 大小 命令 說(shuō)明
git V:345, I:547 46734 git(7) Git 快速、可擴(kuò)展、分布式的版本控制系統(tǒng)
gitk V:5, I:34 1838 gitk(1) 有歷史功能的 Git 圖形倉(cāng)庫(kù)瀏覽器
git-gui V:1, I:18 2429 git-gui(1) Git 圖形界面(無(wú)歷史功能)
git-email V:0, I:10 1087 git-send-email(1) 從 Git 用電子郵件發(fā)送收集到的補(bǔ)丁
git-buildpackage V:1, I:9 1988 git-buildpackage(1) 用 Git 自動(dòng)制作 Debian 包
dgit V:0, I:1 484 dgit(1) Debian 檔案庫(kù)的 git 交互操作
imediff V:0, I:0 169 git-ime(1) 交互式的分開(kāi) git 提交的輔助工具
stgit V:0, I:0 601 stg(1) 封裝的 git (Python)
git-doc I:12 13208 N/A Git 官方文檔
gitmagic I:0 721 N/A Git 魔術(shù),易于理解的 Git 手冊(cè)

二、配置Git客戶端

可以在 “~/.gitconfig” 里面設(shè)置幾個(gè) Git 接下來(lái)需要使用的全局配置,比如說(shuō)名字和電子郵件地址。

$ git config --global user.name "Name Surname"
$ git config --global user.email yourname@example.com

也可以按如下所示定制 Git 的默認(rèn)行為。

$ git config --global init.defaultBranch main
$ git config --global pull.rebase true
$ git config --global push.default current

如果習(xí)慣使用 CVS 或 Subversion 命令,也許希望設(shè)置如下幾個(gè)命令別名。

$ git config --global alias.ci "commit -a"
$ git config --global alias.co checkout

能夠通過(guò)如下方式檢查全局配置:

$ git config --global --list

三、基本Git命令

Git 操作涉及以下幾個(gè)數(shù)據(jù):

1、工作樹(shù)目錄保持面向用戶的文件,可以對(duì)這些文件做修改。需要被記錄的改變,必須明確的被選擇并暫存到索引。這是 git add 和 git rm 命令。

2、索引保持暫存文件。在接下來(lái)的請(qǐng)求之前,暫存文件將被提交到本地倉(cāng)庫(kù)。這個(gè)是 git commit 命令。

3、本地倉(cāng)庫(kù)保持已經(jīng)提交的的文件。

  • Git 記錄提交數(shù)據(jù)的鏈接歷史并在倉(cāng)庫(kù)里面將它們作為分支組織;
  • 本地倉(cāng)庫(kù)通過(guò) git push 命令發(fā)送數(shù)據(jù)到遠(yuǎn)程倉(cāng)庫(kù);
  • 本地倉(cāng)庫(kù)能夠通過(guò) git fetch 和 git pull 命令從遠(yuǎn)程倉(cāng)庫(kù)接收數(shù)據(jù);
  • git pull 命令在 git fetch 后執(zhí)行 git merge 或 git rebase 命令;
  • 這里,git merge 聯(lián)合兩個(gè)獨(dú)立分支的歷史結(jié)尾到一個(gè)點(diǎn);(在沒(méi)有定制的 git pull ,這個(gè)是默認(rèn)的,同時(shí)對(duì)上游作者發(fā)布分支到許多人時(shí),也是好的 )
  • 這里,git rebase 創(chuàng)建一個(gè)遠(yuǎn)程分支的序列歷史的單個(gè)分支,跟著本地分支。(這是定制 pull.rebase true 的情況,對(duì)我們其余的用途有用。)

4、遠(yuǎn)程倉(cāng)庫(kù)保持已經(jīng)提交的文件。到遠(yuǎn)程倉(cāng)庫(kù)的通信,使用安全的通信協(xié)議,比如 SSH 或 HTTPS。

工作樹(shù)是在 .git/ 目錄之外的文件。在 .git/ 目錄里面的文件,包括索引、本地倉(cāng)庫(kù)數(shù)據(jù)和一些 git 配置的文本文件。

這里是主要的 Git 命令概覽:

Git 命令 功能
git init 創(chuàng)建(本地)存儲(chǔ)庫(kù)
git clone URL 克隆遠(yuǎn)程存儲(chǔ)庫(kù)到本地倉(cāng)庫(kù)工作目錄樹(shù)
git pull origin main 通過(guò)遠(yuǎn)程倉(cāng)庫(kù)?origin?更新本地?main?分支
git add . 增加工作樹(shù)里面的文件僅作為預(yù)先存在的索引文件
git add -A . 增加工作樹(shù)里面的所有文件到索引(包括已經(jīng)刪除的)
git rm filename 從工作樹(shù)和索引中刪除文件
git commit 提交在索引中的暫存改變到本地存儲(chǔ)庫(kù)
git commit -a 添加工作樹(shù)里的所有的改變到索引并提交它們到本地倉(cāng)庫(kù)(添加 + 提交)
git push -u origin branch_name 使用本地?branch_name?分支更新遠(yuǎn)程倉(cāng)庫(kù)?origin(初始啟用)
git push origin branch_name 使用本地?branch_name?分支更新遠(yuǎn)程倉(cāng)庫(kù)?origin(隨后調(diào)用)
git diff treeish1 treeish2 顯示?treeish1?提交和?treeish2?提交的不同
gitk VCS 存儲(chǔ)庫(kù)分支歷史樹(shù)的圖形界面顯示

四、Git技巧

下面是一些 Git 技巧:

Git 命令行 功能
gitk --all 參看完整的 Git 歷史和操作,比如重置 HEAD 到另外一個(gè)提交、挑選補(bǔ)丁、創(chuàng)建標(biāo)簽和分支……
git stash 得到一個(gè)干凈的工作樹(shù),不會(huì)丟失數(shù)據(jù)
git remote -v 檢查遠(yuǎn)程設(shè)置
git branch -vv 檢查分支設(shè)置
git status 顯示工作樹(shù)狀態(tài)
git config -l 列出 git 設(shè)置
git reset --hard HEAD; git clean -x -d -f 反轉(zhuǎn)所有工作樹(shù)的改變并完全清理它們
git rm --cached filename 反轉(zhuǎn)由?git add filename?改變的暫存索引
git reflog 獲取參考日志(對(duì)從刪除的分支中恢復(fù)提交有用)
git branch new_branch_name HEAD@{6} 從 reflog 信息創(chuàng)建一個(gè)新的分支
git remote add new_remote URL 增加一個(gè)由 URL 指向的遠(yuǎn)程倉(cāng)庫(kù)?new_remote
git remote rename origin upstream 遠(yuǎn)程倉(cāng)庫(kù)的名字從?origin?重命名到?upstream
git branch -u upstream/branch_name 設(shè)置遠(yuǎn)程跟蹤到遠(yuǎn)程倉(cāng)庫(kù)?upstream?和它的分支名?branch_name。
git remote set-url origin https://foo/bar.git 改變?origin?的 URL
git remote set-url --push upstream DISABLED 禁止推送到?upstream(編輯?.git/config?來(lái)重新啟用)
git remote update upstream 獲取?upstream?倉(cāng)庫(kù)中所有遠(yuǎn)程分支更新
git fetch upstream foo:upstream-foo 創(chuàng)建本地(可能是孤立的)upstream-foo?分支,作為upstream?倉(cāng)庫(kù)中?foo?分支的一個(gè)拷貝
git checkout -b topic_branch ; git push -u topic_branch origin 制作一個(gè)新的?topic_branch?并把它推送到?origin
git branch -m oldname newname 本地分支改名
git push -d origin branch_to_be_removed 刪除遠(yuǎn)程分支(新的方式)
git push origin :branch_to_be_removed 刪除遠(yuǎn)程分支(老的方式)
git checkout --orphan unconnected 創(chuàng)建一個(gè)新的?unconnected?分支
git rebase -i origin/main 從?origin/main?重新排序、刪除、壓縮提交到一個(gè)干凈的分支歷史
git reset HEAD^; git commit --amend 壓縮最后兩個(gè)提交為一個(gè)
git checkout topic_branch ; git merge --squash topic_branch 壓縮整個(gè)?topic_branch?到一個(gè)提交
git fetch --unshallow --update-head-ok origin '+refs/heads/*:refs/heads/*' 反轉(zhuǎn)一個(gè)淺克隆到一個(gè)所有分支的完整克隆
git ime 分開(kāi)最后的提交到一系列單個(gè)逐一文件的小提交。(要求?imediff
git repack -a -d; git prune 本地倉(cāng)庫(kù)重新打包到一個(gè)單獨(dú)的包中(這可能限制從刪除分支里面恢復(fù)丟失數(shù)據(jù)等機(jī)會(huì))

注意:

  • 不要使用帶空格的標(biāo)簽字符串。即使一些工具,如 gitk(1) 允許使用它,但會(huì)阻礙其它 git 命令;
  • 如果一個(gè)本地分支推送到一個(gè)已經(jīng)變基或者壓縮過(guò)的倉(cāng)庫(kù),推送這樣的分支有風(fēng)險(xiǎn),并要求 –force 選項(xiàng)。這通常對(duì) main 分支來(lái)說(shuō)不可接受,但對(duì)于一個(gè)移植到 main 分支前的特定分支,是可以接受的;
  • 從命令行通過(guò) “git-xyz” 直接調(diào)用 git 子命令的方式,從 2006 年早期開(kāi)始就被取消。

如果有一個(gè)可執(zhí)行文件 git-foo 在路徑環(huán)境變量 $PATH 里面,在命令行輸入沒(méi)有中劃線的 “git foo”,則將調(diào)用 git-foo.這是 git 命令的一個(gè)特性。

五、其它的版本控制系統(tǒng)

版本控制系統(tǒng)(VCS )有時(shí)被認(rèn)為是修訂控制系統(tǒng) (RCS), 或者是軟件配置管理程序 (SCM)。

這里是 Debian 系統(tǒng)上著名的其它非 Git 的 VCS 匯總:

軟件包 流行度 大小 工具 VCS 類(lèi)型 描述
mercurial V:4, I:33 2019 Mercurial 分布式 mercurial 主要是用 Python 寫(xiě)的還有一部分是 C 寫(xiě)的
darcs V:0, I:5 34070 Darcs 分布式 有智能代數(shù)補(bǔ)丁的 DVCS(慢)
bzr I:8 28 GNU Bazaar 分布式 受 tla 啟發(fā)并且是用 Python 寫(xiě)的 DVCS (歷史)
tla V:0, I:1 1022 GNU arch 分布式 主要由 Tom Lord 寫(xiě)的 DVCS (成為歷史的)
subversion V:12, I:74 4837 Subversion 遠(yuǎn)程 ”比 CVS 做的好“,遠(yuǎn)程 VCS 的新標(biāo)準(zhǔn)(歷史)
cvs V:4, I:30 4753 CVS 遠(yuǎn)程 以前的遠(yuǎn)程 VCS 標(biāo)準(zhǔn)(歷史)
tkcvs V:0, I:1 1498 CVS, … 遠(yuǎn)程 VCS (CVS,Subversion,RCS) 存儲(chǔ)庫(kù)樹(shù)的圖形界面顯示
rcs V:2, I:13 564 RCS 本地 比 Unix SCCS 做的好(歷史)
cssc V:0, I:1 2044 CSSC 本地 Unix SCCS 的克隆(歷史)
  • 廣告合作

  • QQ群號(hào):4114653

溫馨提示:
1、本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。郵箱:2942802716#qq.com(#改為@)。 2、本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)裁,轉(zhuǎn)載請(qǐng)注明出處“站長(zhǎng)百科”和原文地址。