當前位置:首頁 » 操作系統 » linux內核git

linux內核git

發布時間: 2022-06-07 02:01:41

1. linux下怎麼完成Git的配置

使用git 自從git-1.5.4 , 'git-xyz' 這種用法就不提倡了,而推薦 'git xyz' 風格。 git 的後續版本中將在 make install 時不再安裝 'git-xyz' 這些 hardlinks 。 當如果執行 git --exec-path 輸出的目錄中依然有 git-xyz 這些腳本,你還是可以把這個路徑加到 PATH 環境變數中, 這樣還能夠使用 git-xyz 形式的腳本。 config ------ 我的一些簡單的配置: $ git-config user.name "Jike Song" $ git-config user.email [email][email protected][/email] $ git-config core.editor vim $ git-config core.pager "less -N" $ git-config color.diff true // 顯示 diff 時色彩高亮 $ git-config alias.co checkout // 給 git checkout 取個別名,這樣只輸入 git co 即可 $ git-config sendemail.smtpserver /usr/bin/msmtp 注意,這會在當前 repository 目錄下的 .git/config 中寫入配置信息。 如果 git-config 加了 --global 選項,配置信息就會寫入到 ~/.gitconfig 文件中。 因為你可能用不同的身份參與不同的項目,而多個 項目都用 git 管理,所以建議不用 --global 配置。 $ git-val -l // 列出 git 變數 init ---- $ git-init-db // 創建一個 .git/ 目錄,初始化一個空的 git 倉庫 //這個目錄在git-clone時也會創建。也就是說clone時會自動初始化git //倉庫里需要的東西 clone ----- $ git-clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git [dir name] [dir name] 是你想讓這個倉庫叫什麼名字。 如果不指定,就會等同於目標倉庫的名字。 注意,這種 git server 形式的 repository ,都有一個 filename.git 文件; 而對於 *.git 的操作,也可以 針對.git 所在的目錄: $ mkdir tmp/ $ cd tmp/ $ git-clone ~/Sources/linux-2.6 或者通過 ssh : $ git-clone [email][email protected][/email]:/home/arc/Sources/linux-2.6 此時當前目錄下有一個 .git/ 目錄 . 以下我們都在 linux-2.6/ 下演示: 使用git 自從git-1.5.4 , 'git-xyz' 這種用法就不提倡了,而推薦 'git xyz' 風格。 git 的後續版本中將在 make install 時不再安裝 'git-xyz' 這些 hardlinks 。 當如果執行 git --exec-path 輸出的目錄中依然有 git-xyz 這些腳本,你還是可

2. linux系統下怎麼搭建git伺服器

我們很多人知道Git可能是從Github開始的。因為Github是如此流行,幾乎所有寫代碼的人都知道它,以至於一提到Git就以為是Github,其實兩者並沒有多少關系,只是名字類似而已(這有點像Java和JavaScript)。
152855_dxab_940492.png

實際上,Git是一個分布式版本控制軟體,原來是Linux內核開發者Linus Torvalds為了更好地管理Linux內核開發而創立的。雖然Git比SVN優秀很多,但它們最初被設計出來的想法是一致的,那就是版本控制。而Github卻是一個網站,充當Git公共伺服器的作用,只要擁有Github賬號的人都可以把自己的項目託管在那裡,如果你捨不得花些錢,你的項目是強制公開的。所以,Github就是一個通過Git協議為眾多開發者提供代碼託管的地方,同時它提供了很多特性,第一次使得大家可以這么公開地討論起各自的項目。

153043_4iw8_940492.png

上面之所以說這么多,是因為今天要講的Gitosis有點類似Github的功能。什麼意思呢?就是我們可以在自己的伺服器上安裝Gitosis,那麼這台伺服器就可以向Github一樣對外提供代碼託管服務了,這對於很多不願意把自己的代碼公諸於世的公司來說最好不過了。

這里以CentOS充當伺服器為例給大家講解一下Gitosis的安裝和配置。

1.編譯安裝git

yum install git

2.安裝gitosis

$ yum install python python-setuptools
$ git clone git://github.com/res0nat0r/gitosis.git
$ cd gitosis
$ python setup.py install
網址:https://github.com/res0nat0r/gitosis

3.在開發機器上生成公共密鑰(用來初始化gitosis)

$ ssh-keygen -t rsa #不需要密碼,一路回車就行(在本地操作)
$ scp ~/.ssh/id_rsa.pub root@xxx:/tmp/ # 上傳你的ssh public key到伺服器
4.初始化gitosis[伺服器端]

$ adser git # 新增一個git用戶(先添加用戶組 groupadd git)
$ su git # 切換倒git用戶下
$ gitosis-init < /tmp/id_rsa.pub # id_rsa.pub是剛剛傳過來的,注意放在/tmp目錄主要是因為此目錄許可權所有人都有定許可權的
$ rm /tmp/id_rsa.pub # id_rsa.pub已經無用,可刪除.
5.獲取並配置gitosis-admin [客戶端]

$ git clone git@xxx:gitosis-admin.git # 切換到root用戶並在本地執行,獲取gitosis管理項目,將會產生一個gitosis-admin的目錄,裡面有配置文件gitosis.conf和一個 keydir 的目錄,keydir目錄主要存放git用戶名
$ vi gitosis-admin/gitosis.conf # 編輯gitosis-admin配置文件
如果無法git clone的話,可以使用git clone git@xxx:/home/git/repositories/gitosis-admin.git

# 在gitosis.conf底部增加

[group 組名]
writable = 項目名
members = 用戶 # 這里的用戶名字 要和 keydir下的文件名字相一致
# VI下按ZZ(大寫)兩次會執行自動保存並退出,完成後執行

$ cd gitosis-admin
$ git add .
$ git commit -a -m 「xxx xx」 # 要記住的是,如果每次添加新文件必須執行git add .,或者git add filename,如果沒有新加文件,只是進行修改的話就可以執行此句。
# 修改了文件以後一定要PUSH到伺服器,否則不會生效。

$ git push
如果在git push的時候,遇到錯誤「ddress 192.168.0.77 maps to bogon, but this does not map back to the address – POSSIBLE BREAK-IN ATTEMPT!」,解決為修改/etc/hosts文件,將ip地址與主機名對應關系寫進去就可以了。

注意:這里我們並沒有進行任何的修改的,現在只有一個管理git的項目。下面的為新添加項目的配置,大家經常用到的也就是下面的操作的。

新建項目

到此步就算完成gitosis的初始化了。接下來的是新建一個新項目到伺服器的操作,如第5步中配置gitosis.conf文件添加的是

[group project1] # 組名稱
writable = project1 # 項目名稱
members = xxx # 用戶名xxx一定要與客戶端使用的用戶名完全一樣,否則無許可權操作
提交修改並更新到git server服務端

$ git commit -a -m 「添加新項目project1,新項目的目錄是project1,該項目的成員是xxx「 # 「」里的內容自定
$ git push
將新創建的項目提交到git server 上進行登記。以便客戶可以操作新項目.

# 在客戶端創建項目目錄(客戶端,當前用戶為 XXX )

現在回到開發者客戶端,上面創建了一個新項目project1並提交到了git server 。我們這里就創建此項目的信息.注意 項目名稱 project1要與gitosis.conf文件配置一致,

$ mkdir /home/用戶/project1
$ cd /home/用戶/project1
$ git init
$ git add . # 新增文件 留意後面有一個點
$ git commit -a -m 「初始化項目project1″
# 然後就到把這個項目放到git server伺服器上去.

$ git remote add origin git@xxx:project1.git # xxx為伺服器地址
$ git push origin master
# 也可以把上面的兩步合成一步

$ git push git@xxx:project1.git master
說明:如果在執行 git push origin master 的時候,提示以下錯誤:
error: src refspec master does not match any.
error: failed to push some refs to 『[email protected]:pro2.git』

這是由於項目為空的原因,我們在項目目錄里新創建一個文件。經過->add -> commit -> push 就可以解決了

$ touch a.txt
$ git add a.txt
$ git commit -a -m 『add a.txt』
$ git push
————————————————————————————————

如果在git clone的時候遇到「

error: cannot run ssh: No such file or directory – cygwin git
」錯誤,則表示本機沒有安裝ssh命令。安裝方法請參考:http://blog.haohtml.com/archives/13313

有時候我們要更換電腦來重新開發項目。這個時候,只需要將id_rsa私鑰放在home目錄里的.ssh目錄里就可以了。

3. 如何在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的方法了。

4. linux系統git 怎麼安裝

方法/步驟
1
用git --version命令檢查是否已經安裝

2
在CentOS5的版本,由於yum源中沒有git,所以需要預先安裝一系列的依賴包。在CentOS6的yum源中已經有git的版本了,可以直接使用yum源進行安裝。

3
yum -y install git
但是yum源中安裝的git版本是1.7.1,Github等需要的Git版本最低都不能低於1.7.2 。所以我們一般不用上面的方法,而是下載git源碼編譯安裝。

END
編譯安裝git
1
首先更新系統
yum -y update
更新完成之後有6.5變成6.7了

2
安裝依賴的包
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
3
下載git源碼並解壓
$ wget https://github.com/git/git/archive/v2.3.0.zip
$ unzip v2.3.0.zip
$ cd git-2.3.0

4
編譯安裝:
將其安裝在「/usr/local/git」目錄下。
make prefix=/usr/local/git all
make prefix=/usr/local/git install
因為伺服器時間不對編譯的過程中報錯如下圖,使用ntpdate自動校正系統時間。報錯「Writing perl.mak for Git make[2]: *** [perl.mak] Error 1」,請重啟apache服務,service httpd restart。

5
編譯完成之後使用git --version 查看git版本,居然還是1.7.1,這是因為它默認使用了"/usr/bin"下的git。
你可以用下面的命令查看git所在的路徑:
$ whereis git
git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz

6
我們要把編譯安裝的git路徑放到環境變數里,讓它替換"/usr/bin"下的git。為此我們可以修改「/etc/profile」文件(或者/etc/bashrc文件)。
vim /etc/profile
然後在文件的最後一行,添加下面的內容,然後保存退出。
export PATH=/usr/local/git/bin:$PATH

7
不想重啟系統,使用source命令立即生效
source /etc/profile
8
然後再次使用git --version 查看git版本,發現輸出2.3.0,表明安裝成功。

5. 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 伺服器時不會再提示上面的語句。

熱點內容
ftperror550 發布:2024-10-31 21:22:06 瀏覽:472
c語言連接sqlserver 發布:2024-10-31 21:15:57 瀏覽:673
伺服器和電腦主機的輻射大嗎 發布:2024-10-31 21:09:40 瀏覽:460
移動彩雲存儲空間 發布:2024-10-31 21:07:25 瀏覽:323
編譯armlinux 發布:2024-10-31 21:03:08 瀏覽:815
java獲取字元串長度 發布:2024-10-31 21:03:00 瀏覽:527
觸動精靈手機版手游免費腳本 發布:2024-10-31 20:48:16 瀏覽:961
ubuntu怎麼編譯deb包 發布:2024-10-31 20:37:31 瀏覽:68
少兒編程學院 發布:2024-10-31 20:34:40 瀏覽:73
選單反看什麼配置 發布:2024-10-31 20:34:18 瀏覽:327