溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Git與TortoiseGit基本操作有哪些

發(fā)布時間:2022-01-05 14:17:12 來源:億速云 閱讀:210 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)Git與TortoiseGit基本操作有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

1. GitHub操作

先看看SVN的操作吧, 最常見的是 檢出(Check out ...), 更新 (Update ...), 以及 提交(Commit ...); 相當于有一個服務(wù)器端, 可以多個客戶端進行訪問和操作.

Git是SVN以后的新一代的版本控制系統(tǒng)/協(xié)議. 適合于大規(guī)模的開源軟件多人協(xié)作的開發(fā). 有一個總倉庫(如GitHub,CSDN,OSchina等提供), 每個客戶端都有一個本地倉庫(這個本地倉庫有點對應(yīng)于SVN的服務(wù)端倉庫), 以及一個可以看見的本地項目.

讓我們想想,至少需要有哪些功能.以 GitHub為例,首先,必須得有一個線上倉庫(Repository), 這首先得新建一個倉庫.

要創(chuàng)建倉庫,必須得先注冊賬號. 請參考: 創(chuàng)建GitHub技術(shù)博客全攻略: http://blog.csdn.net/renfufei/article/details/37725057

然后,登錄 GitHub, 在右上角找到 New Repository 或者 加號下拉按鈕(+),點擊進入新建倉庫頁面: https://github.com/new, 如下圖所示:

Git與TortoiseGit基本操作有哪些

依次填寫倉庫名,以及其他信息后,點擊 "Create repository" 按鈕,即可創(chuàng)建一個在線倉庫. 因為這個倉庫是掛在你的賬號下的,所以可以是任意合法的字符,只要和你的其他倉庫不沖突即可.

倉庫創(chuàng)建成功后,就會進入倉庫預(yù)覽頁面, 如下圖所示:

Git與TortoiseGit基本操作有哪些

然后,我們可以點擊右邊的 HTTPS 鏈接, 上方的文本框里面就顯示了 HTTPS協(xié)議下的倉庫訪問地址, 可以點擊進去全選,也可以點擊右邊的復(fù)制按鈕復(fù)制到剪貼板. 例如,剛剛創(chuàng)建的項目訪問路徑是:

https://github.com/cncounter/LispGentleIntro.git

是一個以 https:// 開始,以 .git 結(jié)尾的 URL,根據(jù)提示,叫做 clone URL.

好了,倉庫創(chuàng)建完成,可以進入下一步了.

2. Git使用與操作

如果你偏愛命令行,那么可以簡單參考下這一小節(jié). 否則,請往下翻,直接看 TortoiseGit使用與操作

2.1 克隆項目(clone ...)

Win+R 快捷鍵打開運行對話框,輸入 cmd 回車, 在 cmd 中(其實在 GitBash中也可以), cd 切換到存放git項目的目錄, 如:

Microsoft Windows [版本 6.1.7601]
版權(quán)所有 (c) 2009 Microsoft Corporation。保留所有權(quán)利。

C:\Users\Administrator>F:

F:\>cd GIT_ALL

然后執(zhí)行命令: git clone https://github.com/cncounter/LispGentleIntro.git ,就會把項目克隆到當前目錄下, 項目的目錄名字默認為 LispGentleIntro.

F:\GIT_ALL>git clone https://github.com/cncounter/LispGentleIntro.git
Cloning into 'LispGentleIntro'...
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
Checking connectivity... done.

命令行截圖如下:

Git與TortoiseGit基本操作有哪些

2.2 提交項目(commit ...)

然后可以 cd 切換到 LispGentleIntro 目錄, 新增或者修改某些文件.這里只是模擬一下操作. 實際情況可能是 使用 Eclipse 導(dǎo)入項目(不要拷貝,Copy...)進行一些編輯, 然后將當前目錄下的所有有變動的文件告訴索引庫,接著提交到本地倉庫.

F:\GIT_ALL>cd LispGentleIntro

F:\GIT_ALL\LispGentleIntro>echo some content >> cncounter.txt

F:\GIT_ALL\LispGentleIntro>echo by cncounter >> README.md

F:\GIT_ALL\LispGentleIntro>git add .

F:\GIT_ALL\LispGentleIntro>git commit -m "add some info."
[master 86d090f] add some info.
 2 files changed, 4 insertions(+)
 create mode 100644 cncounter.txt

提交到本地倉庫有什么好處呢? 本地倉庫就是一個版本管理庫,我們在編寫代碼時,如果寫錯了,那么可能需要 Ctrl+Z 來撤銷,撤銷撤銷,如果很多,而且跨文件,就很麻煩,可能需要Copy文件什么的。 這時候本地倉庫就很有用了. 修改到某個階段,然后就提交到本地倉庫. 可以有效防止丟失,方便回退. 而且,提交到本地倉庫不會影響別人看到的內(nèi)容(只有本機可見).

2.3 推送項目(push ...)

如果完成到一定程度,那么可以推送到遠端在線倉庫. 推送之前,請確保你已經(jīng)設(shè)置了全局的 user.name 和 user.email, 如果沒有設(shè)置,或者不想使用全局的信息,可以在當前項目下設(shè)置:

F:\GIT_ALL\LispGentleIntro>git config user.name "renfufei"

F:\GIT_ALL\LispGentleIntro>git config user.email "renfufei@qq.com"

接著,可以執(zhí)行推送(push), 推送就是將已經(jīng)提交到本地倉庫的那部分內(nèi)容給推到遠端在線倉庫.(修改了,但沒提交的那部分內(nèi)容,不會被推送). 執(zhí)行 git push 命令即可:

F:\GIT_ALL\LispGentleIntro>git push
Username for 'https://github.com': renfufei
Password for 'https://renfufei@github.com':
Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 402 bytes | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
To https://github.com/cncounter/LispGentleIntro.git
   e8c0fb1..6407079  master -> master

在連接上遠端服務(wù)器之后,會要求你輸入用戶名與密碼. 其中,用戶名是你注冊GitHub時的賬號,不是郵箱. 接著是密碼,注意密碼是沒有回顯的,也就是為了安全,不告訴你具體輸入了幾個字符,輸入完成回車即可. 截圖如下:

Git與TortoiseGit基本操作有哪些

好了,推送完成,這時候用瀏覽器打開在線倉庫,看看內(nèi)容是不是已經(jīng)變了?

2.4 拉取項目(pull ...)

當然,如果多人協(xié)作, 或者多個客戶端進行修改, 那么我們還要拉取(Pull ... )別人推送到在線倉庫的內(nèi)容下來。 大神們是不推薦使用 pull 命令進行拉取的, 因為封裝了細節(jié)(git pull == git fetch + git merge). 對于這群更喜歡用命令行的神們來說, 一切在掌控之中是一種強迫癥!!!(開個玩笑, 其實項目成員復(fù)雜,約定不好以后, pull 確實會有很多問題,會坑人.)

常規(guī)使用,我們執(zhí)行 git pull 即可:

F:\GIT_ALL\LispGentleIntro>git pull
Already up-to-date.

當然,因為沒有其他文件被修改,所以直接提示 已經(jīng)更新到最新. 常規(guī)操作就這些,需要注意的是,和使用SVN的好習(xí)慣一樣,你在修改本地內(nèi)容之前,最好先 pull 一下,減少沖突的可能.

3. TortoiseGit使用與操作

使用 Git命令有時候確實不怎么方便,特別是每次都要輸入密碼,如果配置 SSH 的方式,又實在是很麻煩.(當然,必須使用 Windows 神器才有方便友好的客戶端圖形界面啦!!!)

關(guān)于 TortoiseGit 的安裝請參考 前一小節(jié).

3.1 克隆項目

打開資源管理器(我的電腦/計算機), 進入規(guī)劃好的某個目錄中, 然后在空白處點擊鼠標右鍵, 選擇 TortoiseGit --> 克隆... (Clone...).

Git與TortoiseGit基本操作有哪些

彈出克隆項目對話框:

Git與TortoiseGit基本操作有哪些

在對話框的 URL中輸入項目地址,如:

https://github.com/cncounter/LispGentleIntro.git

確定本地目錄,然后點擊 確定 按鈕. 等待完成后,點擊關(guān)閉按鈕即可.

Git與TortoiseGit基本操作有哪些

3.2 修改提交項目

項目克隆完成后(可以將克隆 clone 理解為 下載, 檢出 checkout 操作). 修改本地項目中的某些文件,如 將 README.md 修改為如下內(nèi)容:

LispGentleIntro
===============

Lisp-符號計算入門指引翻譯

<a href="http://cncounter.duapp.com/">天朝計數(shù)器</a>

還可以試試增加一些文件. 如 files.txt .

然后在本地項目的空白處點擊鼠標右鍵, 選擇 TortoiseGit --> 提交(C) -> "master"... 或: Commit -> "master"....

Git與TortoiseGit基本操作有哪些

彈出提交(Commit)對話框:

Git與TortoiseGit基本操作有哪些

作為好習(xí)慣,填寫提交日志,勾選需要提交的文件,然后點擊 "確定" 按鈕, 即提交到本地倉庫.

Git與TortoiseGit基本操作有哪些

3.3 將提交到本地的項目推送到在線倉庫

推送是提交的下一步操作.

在本地項目的空白處點擊鼠標右鍵, 選擇 TortoiseGit --> 推送... 或: Push....

Git與TortoiseGit基本操作有哪些

彈出推送(push)對話框:

Git與TortoiseGit基本操作有哪些

一般保持默認,點擊 “確定” 按鈕.

然后彈出推送進度界面, 可能要求你輸入用戶名:

Git與TortoiseGit基本操作有哪些

確定OK,然后要求輸入密碼:

Git與TortoiseGit基本操作有哪些

密碼輸入正確后,OK,顯示推送成功界面:

Git與TortoiseGit基本操作有哪些

如果你按照上一小節(jié)的設(shè)置操作,則輸入密碼以后會記住密碼. 密碼會明文保存在 C:\Users\Administrator\.git-credentials 這種文件中, 請小心使用.

3.4 拉取項目(pull ...)

如果本地的項目沒有在線倉庫的新,則需要執(zhí)行拉取操作(Pull ...).

在本地項目的空白處點擊鼠標右鍵, 選擇 TortoiseGit --> 拉取... 或: Pull....

Git與TortoiseGit基本操作有哪些

彈出拉取(pull)對話框:

Git與TortoiseGit基本操作有哪些

【如果拉取有BUG,請不要使用 rebase, 下載最新的 TortoiseGit 即可】, 進入 拉取進度界面:

Git與TortoiseGit基本操作有哪些

然后執(zhí)行變基:

【如果拉取有BUG,請不要使用 rebase, 下載最新的 TortoiseGit 即可】

Git與TortoiseGit基本操作有哪些

然后完成即可.

感謝各位的閱讀!關(guān)于“Git與TortoiseGit基本操作有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI