當前位置:首頁 » 操作系統 » linuxgit使用

linuxgit使用

發布時間: 2023-04-13 20:33:50

linux系統上怎樣安裝Git

  • 用git --version命令檢查是否已經安裝

❷ linux搭建git遠程倉庫

1. linux和windows端分別安裝git,其中linux中可以用yum安裝

[root@node0~]#yum install git

git的默認安裝路徑在/usr/libexec/git-core

[root@node0 git-core]#cd /usr/libexec/git-core

[root@node0 git-core]#git --version

git version 1.7.1

2.設置linux端git的用戶名和密碼

[root@node0 git-core]# groupadd git

[root@node0 git-core]# useradd wang -g git

[root@node0 git-core]# passwd wang

New password:

3.在伺服器端創建遠程倉庫

[root@node0 ~]# mkdir -p /mnt/gitrep/wjf

[root@node0 ~]# cd /mnt/gitrep/wjf/

[root@node0 wjf]# git init

Initialized empty Git repository in /mnt/gitrep/wjf/.git/

把倉庫所屬用戶改為wang(git的用戶名)

[root@node0 wjf]# chown -R wang:git .git/

註:chown將指定文件的擁有者改為指定的用戶或組 -R處理指定目錄以及其子目錄下的所有文件

4.在windows客戶端克隆倉庫 

$ git clone [email protected]:/mnt/gitrep/wjf/.git

Cloning into 'wjf'...

The authenticity of host '192.168.111.60 (192.168.111.60)' can't be established.

RSA key fingerprint is SHA256:MgWCWF************************1m2tI.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '192.168.111.60' (RSA) to the list of known hosts.

[email protected]'s password:

第一次連接遠程倉庫,出現黑體部分,這是因為Git使用SSH連接,而SSH連接在第一次驗證GitHub伺服器的Key時,需要你確認GitHub的Key的指紋信息是否真的來自GitHub的伺服器,鍵入yes,然後輸入遠程倉庫的密碼就可以了。

5.實際中也通常通過設置公鑰的方式來連接遠程倉庫,這樣就不用每次連接都需要密碼了。

設置公鑰:

1.在windows客戶端的gitbash中生成用戶私鑰和公鑰

$ ssh-keygen -t rsa -C "[email protected]"

在c盤用戶路徑下的/.ssh文件夾下會生成私鑰id_rsa和公鑰id_rsa.pub

2.linux端

首先 Git伺服器打開RSA認證,即,修改/etc/ssh/sshd_config,將其中的以下三項打開

RSAAuthentication yes 

 PubkeyAuthentication yes 

 AuthorizedKeysFile .ssh/authorized_keys

然後,將客戶端生成的公鑰給到伺服器端

即,將公鑰給到 home/wang(git的用戶名)/.ssh/authorized_keys

[root@node0 ~]# cd /home/wang

[root@node0 wang]# mkdir .ssh

[root@node0 wang]# chmod 777 .ssh

[root@node0 wang]# touch .ssh/authorized_keys

在windows客戶端的gitbash中 執行:

$ ssh [email protected] 'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub

然後在linux端:

[root@node0 wang]# chmod 600 .ssh/authorized_keys

[root@node0 wang]# chmod 700 .ssh

[root@node0 wang]# chown wang:git .ssh

[root@node0 wang]# chown wang:git .ssh/authorized_keys 

至此,以後再連接遠程倉庫就不需要密碼了。

若仍需要密碼,可以查看ssh連接日誌/var/log/secure:

常見連接失敗原因:Authentication refused: bad ownership or modes for directory /home/wang/.ssh 

這時需要檢查該目錄的所屬用戶和讀寫許可權等級是否符合要求。公鑰以及.ssh文件的許可權應該屬於git的用戶和用戶組,讀寫許可權等級.ssh 700,authorized_keys 600.

❸ linux如何配置git

做前端的在日常工作中少不了和git打交道,那麼新安裝git之後使用webstorm進行項目上傳時有時會出現只能創建項目無法上傳文件的錯誤,那麼這種錯誤是怎麼形成的呢,原來是我們沒喲成功配置git。按照下面的方式去做就可以解決這個問題。

首先確保自己已經安裝了git,打開終端,運行:

查看當前git版本,如果沒有安裝運行:

sudo npm install git -g

進行git的安裝。

運行如下命令對git用戶的大攔用戶名和郵箱進行配置。

之滲仿輪後再進行上傳發現問題叢信已經解決。

❹ linux系統下怎麼使用git

git命令是用來管理文件的程序,它十分類似DOS下的Norton Commander,具有互動式操作界面。它的操作方法和Norton Commander幾乎一樣:
git pull:從其他的版本庫(既可以是遠程的也可以是本地的)將代碼更新到本地,例如:'git pull origin master'就是將origin這個版本庫的代碼更新到本地的master主枝,該功能類似於SVN的update
git add:是將當前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示記入了版本歷史中,這也是提交之前所需要執行的一步,例:'git add app/model/user.rb'就會增加app/model/user.rb文件到Git的索引中
git rm:從當前的工作空間中和索引中刪除文件,例如'git rm app/model/user.rb'
git commit:提交當前工作空間的修改內容,類似於SVN的commit命令,例如'git commit -m story #3, add user model',提交的時候必須用-m來輸入一條提交信息
git push:將本地commit的代碼更新到遠程版本庫中,例如'git push origin'就會將本地的代碼更新到名為orgin的遠程版本庫中
git log:查看歷史日誌
git revert:還原一個版本的修改,必須提供一個具體的Git版本號,例如'git revert ',Git的版本號都是生成的一個哈希值
git branch:對分支的增、刪、查等操作,例如'git branch new_branch'會從當前的工作版本創建一個叫做new_branch的新分支,'git branch -D new_branch'就會強制刪除叫做new_branch的分支,'git branch'就會列出本地所有的分支
git checkout:Git的checkout有兩個作用,其一是在不同的branch之間進行切換,例如'git checkout new_branch'就會切換到new_branch的分支上去;另一個功能是還原代碼的作用,例如'git checkout app/model/user.rb'就會將user.rb文件從上一個已提交的版本中更新回來,未提交的內容全部會回滾
git rebase:用下面兩幅圖解釋會比較清楚一些,rebase命令執行後,實際上是將分支點從C移到了G,這樣分支也就具有了從C到G的功能

❺ linux 安裝好git 怎麼用

Git服務程序中提交數據、移除數據、移動數據、查詢歷史記錄、還原數據及管理標簽等,滿足日常工作的需求。
同時還為包括了分支結構的創建與合並,遇到分支內容沖突的解決辦法,動手部署Git伺服器及使用Github託管服務等一些強大的功能,你可以參考下
一、在正式使用前,我們還需要弄清楚Git的三種重要模式,分別是已提交、已修改和已暫存:
已提交(committed):表示數據文件已經順利提交到Git資料庫中。
已修改(modified):表示數據文件已經被修改,但未被保存到Git資料庫中。
已暫存(staged):表示數據文件已經被修改,並會在下次提交時提交到Git資料庫中。
提交前的數據文件可能會被隨意修改或丟失,但只要把文件快照順利提交到Git資料庫中,那就可以完全放心了,流程為:
1.在工作目錄中修改數據文件。
2.將文件的快照放入暫存區域。
3.將暫存區域的文件快照提交到Git倉庫中。
執行yum命令來安裝Git服務程序:
[root@linuxprobe ~]# yum install -y git
Loaded plugins: langpacks, proct-id, subscription-manager
………………省略部分安裝過程………………
Installing:
git x86_64 1.8.3.1-4.el7 rhel7 4.3 M
Installing for dependencies:
perl-Error noarch 1:0.17020-2.el7 rhel7 32 k
perl-Git noarch 1.8.3.1-4.el7 rhel7 52 k
perl-TermReadKey x86_64 2.30-20.el7 rhel7 31 k
………………省略部分安裝過程………………
Complete!

首次安裝Git服務程序後需要設置下用戶名稱、郵件信息和編輯器,這些信息會隨著文件每次都提交到Git資料庫中,用於記錄提交者的信息,而Git服務程序的配置文檔通常會有三份,針對當前用戶和指定倉庫的配置文件優先順序最高:
配置文件 作用
/etc/gitconfig 保存著系統中每個用戶及倉庫通用配置信息。
~/.gitconfig
~/.config/git/config 針對於當前用戶的配置信息。
工作目錄/.git/config 針對於當前倉庫數據的配置信息。

第一個要配置的是你個人的用戶名稱和電子郵件地址,這兩條配置很重要,每次 Git 提交時都會引用這兩條信息,記錄是誰提交了文件,並且會隨更新內容一起被永久納入歷史記錄:
[root@linuxprobe ~]# git config --global user.name "Liu Chuan"
[root@linuxprobe ~]# git config --global user.email "[email protected]"

設置vim為默認的文本編輯器:
[root@linuxprobe ~]# git config --global core.editor vim

嗯,此時查看下剛剛配置的Git工作環境信息吧:
[root@linuxprobe ~]# git config --list
user.name=Liu Chuan
[email protected]
core.editor=vim

二、提交數據
我們可以簡單的把工作目錄理解成是一個被Git服務程序管理的目錄,Git會時刻的追蹤目錄內文件的改動,另外在安裝好了Git服務程序後,默認就會創建好了一個叫做master的分支,我們直接可以提交數據到了。
三、移除數據
有些時候會向把已經添加到暫存區的文件移除,但仍然希望文件在工作目錄中不丟失,換句話說,就是把文件從追蹤清單中刪除。
移動數據
Git不像其他版本控制系統那樣跟蹤文件的移動操作,如果要修改文件名稱,則需要使用git mv命令:
[root@linuxprobe linuxprobe]# git mv readme.txt introction.txt

由於字數限制,不能完全放下,如果你想好好了解,建議你看下http://www.linuxprobe.com/chapter-21.html 這個文檔中有詳細的用法你可以看看對你有用嗎

❻ 在Linux下搭建Git伺服器

眾所周知,版本系統在開發環境中是必不可少的,但是我們可以把代碼免費的託管到GitHub上,如果我們不原意公開項目的源代碼,公司又不想付費使用,那麼我們可以自己搭建一台Git伺服器,可以用Gitosis來管理公鑰,還是比較方便的。

搭建環境:

伺服器 CentOS6.6 + git(version 1.8.3.1)

客戶端 Windows10 + git(version 2.11.1.windows.1)

1. 安裝Git相關軟體

Linux是伺服器端系統,Windows作為客戶端系統,分別安裝Git

安裝客戶端:

下載 Git for Windows,地址:https://git-for-windows.github.io/

安裝完之後,可以使用Git Bash作為命令行客戶端。

安裝Gitosis

出現下面的信息表示安裝成功了

2. 伺服器端創建git用戶來管理Git服務

3. 配置公鑰

在Windows上配置管理者,git伺服器需要一些管理者,通過上傳開發者機器的公鑰到伺服器,添加成為git伺服器的管理者,打開git命令行

4. 配置gitosis

使用git用戶並初始化gitosis

在Windows上機器上clone gitosis-admin到管理者主機

gitosis.conf: git伺服器配置文件

keydir: 存放客戶端公鑰

配置 gitosis.conf 文件

在Windows管理者機器上創建本地test倉庫,並上傳到git服務端

提交到遠程伺服器

服務端會自動創建test倉庫

5.添加其他git用戶開發者

由於公司開發團隊人數不斷增多,手動添加開發者私鑰到/home/git/.ssh/authorized_keys比較麻煩,通過上面的Windows機器的管理者統一收集其他開發者的私鑰id_rsa.pub文件,然後傳到伺服器上,配置好後,用戶即獲得項目許可權,可以從遠程倉庫拉取和推送項目,達到共同開發項目。

推送完成後,新加進來的開發者就可以進行項目的開發了,後續增加人員可以這樣添加進來,開發者直接把倉庫clone下來就可以了。

❼ git一般都在linux下使用嗎

linux下git的使用方法前言 git是linux下的版本控制工具。我因為沒有大型工程,也沒有伺服器,所以基本上最有用的push等等就用不上了。我的程序是一個人開發的,我現在想標記我的版本,並且可以在版本之間切換來切換去,有一個人建議使用git-tag,下面就講講git我用的到的用法:正文一:建庫#建立一個空的庫,在當前目錄下創建.gitgit init二:添加 #添加一個文件或一個目錄下的所有文件到版本庫git add a.cppgit add ./src/三:提交#把現在的代碼提交(到本地)#[-a] 把現在代碼庫已經git add過的代碼全部提交上去(?)#[-m message] 加上你提交附帶的信息,以後在切換tag的時候就會同時告訴你這個git commit -a -m message四:標簽(需要先執行提交)#添加一個標簽#[-a tag-name] 添加tag的名字(比如-a V1.0)#[-m message] 添加tag的信息,這里的信息是在tag show中顯示的,而不是像commit中的在切換時顯示 git tag -a tag-name -m message#刪除一個標簽#[-d tag-name] 刪除tag的名字(如-d V1.0)git tag -d tag-name#切換到一個標簽#似乎branch和tag都是用相同的切換git checkout tag-name

❽ 如何在 Linux 上安裝 git 服務

Git 最初是一個在Linux下開發的非常流行的開源的版本控制系前運首統(VCS)。與其他的VCS工具(如CVS或者SVN)不同,Git在某種意義上考慮的是「分布式」,你本地的Git工作目錄就可以作為一個完整的版本控制庫並具有版本跟蹤能力。在這種模式中,每一個協作者都可以提交到本地倉庫,並且如果需要的話可以有選擇的推送到一個集中的版本倉庫。這種可擴展性和冗餘的修訂控制系統慧數是任何類型的大型協作任務中都是必須的。
一、通過包管理器安裝 Git
Git 是所有主要的Linux發行版本都附帶的功能。因此,安裝Git的最簡單的方法是使用您的Linux發行版的包管理器。
Debian, Ubuntu, or Linux Mint
$ sudo apt-get install git

Fedora, CentOS or RHEL
$ sudo yum install git

Arch Linux
$ sudo pacman -S git

OpenSUSE
$ sudo zypper install git

Gentoo
$ emerge --ask --verbose dev-vcs/git

二、從源代碼安裝Git
如果出於某種原因你想從源代碼安裝Git,你可以遵循下面的說明。
安裝依賴
構建之前,首先安裝Git依賴。
Debian,Ubuntu or Linux
$ sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev asciidoc xmlto docbook2x

Fedora, CentOS or RHEL
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc xmlto docbook2x

從源代碼編譯Git
從 https://github.com/git/git/releases 下載最新版本的 Git,然後在 /usr 目錄下構建悄褲和安裝 Git。
注意,如果你想安裝在一個其他的目錄(如 /opt ),可以替換配置命令行中的 「--prefix=/usr 」。
$ cd git-x.x.x
$ make configure
$ ./configure --prefix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info

❾ Linux操作系統下安裝Git(yum 方法)

使用yum安裝確實簡單方便,但 yum 存在一個問題就是安裝的版本不好控制。
以下安裝的版本為1.8.3.1,這個版本太老了。
截至發布文章的時候最新版本為:v2.30.0
Git 最新版本: https://github.com/git/git/releases
源碼編譯安裝看這里 https://www.jianshu.com/p/d06538116a2e

直接使用以下命令

安裝完成之後使用以下命令查看安裝的 Git 的版本,驗證是否安裝成功

出現以下信息則安裝成功

此方法安裝 Git 的默認路徑為(/usr/libexec/git-core)可以使用命令查看安裝目錄信息

安裝目錄信息如下圖所示

❿ 如何在Linux下使用Git

Git是一款開源分布式版本控制系統,能夠幫助Linux管理內核開發,那麼Linux要如何使用Git,下面就是Linux使用Git的方法:

  • *初始化git倉庫,使用git init命令

    *添加文件到git倉庫分兩步:

1、使用git add filename ;可分多次使用,添加多個文件到暫存區

2、使用git commit -m 「說明」 ;完成提交到分支

*查看工作區狀態,使用git status 命令;如果提示有修改可使用git diff filename 查看修改內容

*HEAD指向當前版本,HEAD^表示上一個版本,HEAD^^上上一個版本……HEAD~100指向之前第100個版本。

*回退版本:使用git log查看提交歷史;使用git log --pretty=oneline 精簡顯示

使用git reset --hard commit_id 回退到版本號為commit_id的版本

*回退版本之後如果想再看改回來,可以使用git reflog 查看歷史命令,找出想改回的版本號,再使用git reset hard commit_id 返回即可。

*注意:git跟蹤並管理的是修改,而不是文件,如果一個文件修改並add之後,再次修改,如果不再次add就提交的話,只會提交第一次的修改。

  • *撤銷修改:

1、如果文件還在工作區,即沒有add也沒有commit,則使用git checkout -- filename 還原到伺服器版即可;

2、如果已經add到暫存區,首先使用git reset HEAD filename從暫存區取回工作區,再按照1進行操作即可;

3、如果已經提交到版本庫,則按照版本回退的方式進行修改即可;

4、如果已經push到遠程倉庫,就麻煩了

*刪除使用以下命令:

1、git rm filename 從工作區刪除

2、git commit -m 」說明「 更新分支中文件進行刪除

將在工作區的文件刪除之後,可以使用git checkout -- filename 從分支中取回,但是只能恢復文件到最新版本,最後一次提交之後的修改則不能恢復。

  • *分支:

1、創建分支

git checkout -b branchname 創建並切換到改分區,相當於一下兩個命令:

git branch branchname 創建分支

git checkout branchname 切換到分區

2、查看當前指向的分支:git branch 會列出所有分支,當前指向的分支之前多了個*

3、切換分支就是git checkout branchname

4、合並分支:git merge branchname 合並branchname到當前分支

5、刪除分支:git branch -d branchname 刪除branchname分支

注意:創建、合並、刪除分支都非常快,git鼓勵使用分支完成某個任務,合並後刪除分支,和直接在master分支上進行工作是一樣的效果,但是過程更加安全; 這些之所以快是因為在這些過程中我們只是修改了指向分支的指針,如創建一個branch就是創建了一個指向分支的指針,然後修改HEAD指向該指針;即HEAD指向分支,分支就是提交。

  • *沖突解決:

    git無法自動合並分支時,就必須首先解決沖突;解決沖突之後,再提交,即完成了合並

使用git log --graph 可以查看分支合並圖。

*保存工作現場 git stash 保存之後就可以進行其他工作 而不影響上次的修改

恢復工作現場:

1、git stash apply 恢復時並不刪除stash中內容

2、git stash pop 恢復時會刪除stash中的內容

*遠程庫信息產看使用git remote (-v)加上-v顯示信息更加詳細

*分支推送到遠程庫:即將所有本地的提交推送到遠程庫

git push origin(遠程庫名) master (要推送的分支)

*抓取分支:git pull ; git clone

  • *協作模式:

1、使用git push origin branchname 推送自己的修改

2、如果推送失敗,因為遠程分支比本地更新,先使用git pull 合並

3、如果合並有沖突,解決沖突,在本地提交

4、再推送

注意:如果使用git pull 合並時提示 」no tracking information「說明本地分支沒有和遠程分支建立鏈接關系,使用以下指令建立關系:git branch --set -upstream branch origin/branchname

*在本地創建與遠程對應的分支:git branch -b branchname origin/branchname 本地與遠程分支的名稱最好一致

  • *創建標簽

1、打標簽git tag name 默認標簽打在最新提交的commit上,如果想打在其他版本上,找到commit_id即可

2、顯示標簽:git log -pretty=oneline --abbrev -commit

git tag tag_name commit_id

3、查看標簽:git tag 顯示所有標簽

4、查看標簽信息:git show tag_name

5、創建帶有說明的標簽: git tag -a tag_name -m 」信息「;-a表示標簽名,-m指定說明文字

*操作標簽:git tag -d tag_name 刪除標簽

推送標簽到遠程庫:git push origin tag_name

一次推送所有標簽到遠程庫:git push origin --tag

上面就是Linux使用Git的方法了。

熱點內容
蘋果6怎麼清理app緩存 發布:2025-09-12 07:23:19 瀏覽:541
模板厚度演算法 發布:2025-09-12 07:22:33 瀏覽:638
緩存屬於虛擬內存嗎 發布:2025-09-12 07:12:17 瀏覽:346
編程在線培訓好 發布:2025-09-12 07:10:17 瀏覽:837
可變軸編程 發布:2025-09-12 06:50:08 瀏覽:377
android編程實例 發布:2025-09-12 06:44:10 瀏覽:589
java加解密 發布:2025-09-12 06:30:59 瀏覽:924
php簡單的mvc框架 發布:2025-09-12 06:30:51 瀏覽:368
雜牌伺服器如何重裝系統 發布:2025-09-12 06:22:44 瀏覽:423
oracle資料庫日誌 發布:2025-09-12 06:16:57 瀏覽:266