『壹』 kali linux如何使用GIT clone
在linux下搭建git環境
1、創建Github賬號,https://github.com
2、Linux創建SSH密鑰:
[plain] view plain
01.ssh-keygen ##一直默認就可以了
3、將公鑰加入到賬戶信息Account Settings->SSH Key
4、測試驗證是否成功。
[plain] view plain
01.ssh -T [email protected]
02.Hi someone! You've successfully authenticated, but GitHub does not provide shell access.
同步github到本地
1、復制項目到本地:
[plain] view plain
01.git clone git://github.com:xxxx/test.git ##以gitreadonly方式克隆到本地,只可以讀
02.git clone [email protected]:xxx/test.git ##以SSH方式克隆到本地,可以讀寫
03.git clone https://github.com/xxx/test.git ##以https方式克隆到本地,可以讀寫
04.git fetch [email protected]:xxx/xxx.git ##獲取到本地但不合並
05.git pull [email protected]:xxx/xxx.git ##獲取並合並內容到本地
本地提交項目到github
1、本地配置
[plain] view plain
01.git config --global user.name 'onovps'
02.git config --global user.email '[email protected]' #全局聯系方式,可選
2、新建Git項目並提交到Github。
[plain] view plain
01.mkdir testdir & cd testdir
02.touch README.md
03.git init #初始化一個本地庫
04.git add README.md #添加文件到本地倉庫
05.git rm README.md #本地倒庫內刪除
06.git commit -m "first commit" #提交到本地庫並備注,此時變更仍在本地。
07.git commit -a ##自動更新變化的文件,a可以理解為auto
08.git remote add xxx [email protected]:xxx/xxx.git #增加一個遠程伺服器的別名。
09.git remote rm xxx ##刪除遠程版本庫的別名
10.git push -u remotename master #將本地文件提交到Github的remoname版本庫中。此時才更新了本地變更到github服務上。
分支版本操作
1、創建和合並分支
[plain] view plain
01.git branch #顯示當前分支是master
02.git branch new-feature #創建分支
03.git checkout new-feature #切換到新分支
04.vi page_cache.inc.php
05.git add page_cache.inc.php
06.git commit -a -m "added initial version of page cache"
07.git push origin new-feature ##把分支提交到遠程伺服器,只是把分支結構和內容提交到遠程,並沒有發生和主幹的合並行為。
2、如果new-feature分支成熟了,覺得有必要合並進master
[plain] view plain
01.git checkout master #切換到新主幹
02.git merge new-feature ##把分支合並到主幹
03.git branch #顯示當前分支是master
04.git push #此時主幹中也合並了new-feature的代碼
git命令使用思維圖:【非常有料】
『貳』 linux如何搭建git
1、環境准備
伺服器:CentOS 7.3 + git (1.8.3.1)
客戶端:win10 + git (2.17.0.windows.1)
2、伺服器安裝git
yum install -y git
3、創建git用戶,管理 git服務
[root@localhost home]# useradd git
[root@localhost home]# passwd git
4、伺服器創建git 倉庫
設置/home/git/repository-git 為git 伺服器倉庫,然後把 git 倉庫的 owner 修改為 git 用戶。
復制代碼
[root@localhost git]# mkdir repository-git
[root@localhost git]# git init --bare repository-git/
Initialized empty Git repository in /home/git/repository-gt/
[root@localhost git]# chown -R git:git repository-git/
5、客戶端安裝git
下載 Git for Windows,地址:https://git-for-windows.github.io/
安裝完之後,可以使用 Git Bash 作為命令行客戶端。
5.1、選擇一個目錄 F:\project\sell 作為本地倉庫,右鍵進入Git Bash 命令行模式
初始化本地倉庫:git init
5.2、嘗試克隆一個伺服器的空倉庫到本地倉庫
git clone [email protected]:/home/git/repository-gt
第一次連接到目標 Git 伺服器時會得到一個提示:
The authenticity of host '192.168.116.129(192.168.116.129)' can't be established.
RSA key fingerprint is SHA256:Ve6WV/.
Are you sure you want to continue connecting (yes/no)?
選擇 yes:
Warning: Permanently added '192.168.116.129' (RSA) to the list of known hosts.
此時 C:\Users\用戶名\.ssh 下會多出一個文件 known_hosts,以後在這台電腦上再次連接目標 Git 伺服器時不會再提示上面的語句。
『叄』 如何在 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遠程倉庫
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.