linuxgit上傳
1. 怎麼把linux上的文件git到git.ocs.china
git是linux下的版本管理工具,類似於CVS。
git沒有登陸與退出的概念,每次操作都要求輸入密碼(當然也可以做到不用每次都輸入密碼)。
0.首先要設置環境變數,否則每次提交信息與本人不匹配:
[email protected]
GIT_AUTHOR_NAME='Yang XX'
[email protected]
GIT_COMMITTER_NAME='Yang XX'
常用的git命令有:
1.git-clone username@ipaddress:/xxx/xxx(伺服器上的工程目錄,要求記住)
該命令為第一次登陸工程目錄時使用,目的是拷貝工程目錄內容,以後的所有操作最好都在該目錄下。
2.git-add filename
添加文件,只在本機目錄下有效。
3.git-commit -m "comment about this operation"
關於本次操作的注釋,只提交到本機目錄下。
4.git-push
提交變化到伺服器。真正有效的操作
5.git-pull
將伺服器上該工程目錄下的變化拷貝到本機目錄中。也用於每次提交之後交驗操作是否有效。
6.git-diff
顯示本機與伺服器中工程目錄內容的不同。
7.git-checkout branchname
切換分支。默認每次均在master分支下操作。
8.gitk --all
以圖形界面的方式顯示所有操作及注釋。
2. 如何在Linux上搭建一個Git中央倉庫
本教程只面向那些個人開發者,想要自己在linux上搭建一個git中央倉庫用來上傳發布自己的項目。但是對於團隊來說可能有更高的要求,可以使用gitlab搭建一個可視化的類似github的版本管理系統
3. 如何通過git把本地的代碼上傳到伺服器
1、首先需要安裝Git,如果已經安裝,請跳過。由於Git是Linux開發的,所以大部分使用在Linux系統上,但肯定會有windows版的,我本身使用的是win10,下載安裝即可:https://git-for-windows.github.io/
2、安裝好git伺服器後。首先找到你項目的文件夾,比如項目名稱為myproject,進入到這個文件夾,右鍵打開模擬linux風格的命令窗口
接下來依次執行命令:
git init // 初始化版本庫git add . // 添加文件到版本庫(只是添加到緩存區),.代表添加文件夾下所有文件 git commit -m "first commit" // 把添加的文件提交到版本庫,並填寫提交備注12345
到目前為止,我們完成了代碼庫的初始化,但代碼是在本地,還沒有提交到遠程伺服器,所以關鍵的來了,要提交到就遠程代碼伺服器,進行以下兩步:
git remote add origin 你的遠程庫地址 // 把本地庫與遠程庫關聯git push -u origin master // 第一次推送時git push origin master // 第一次推送後,直接使用該命令即可推送修改12345
把本地庫的內容推送到遠程。使用 git push命令,實際上是把當前分支master推送到遠程。執行此命令後會要求輸入用戶名、密碼,驗證通過後即開始上傳。
說明:用戶名密碼需要通過命令 ssh-keygen -t rsa -C 「[email protected]」進行創建,並且要把得到的秘鑰(公鑰)文件放到git伺服器上,這樣才有許可權進行代碼推送
到此就成功的把本地的代碼放到了遠程伺服器上,這樣就能讓項目組成員進行寫作開發了。
4. linux怎樣將git倉庫中的文件上傳到另一個遠程倉庫中
不需要自動備份的話
# rsync -azvP --delete /zabbix/ root@遠端IP地址:/test/
5. 如何在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. 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的功能
7. 如何在linux下上傳到git伺服器
GitHub就是一個免費託管開源代碼的遠程倉庫。但是對於某些視源代碼如生命的商業公司來說,既不想公開源代碼,又捨不得給GitHub交保護費,那就只能自己搭建一台Git伺服器作為私有倉庫使用。
8. linux怎樣命令行上傳git
你是你是要通過git命令上傳東西,還是想上傳git到伺服器上面,你可以先通過yum安裝git
#yuminstallgit
已載入插件:fastestmirror,refresh-packagekit,security
設置安裝進程
Loadingmirrorspeedslinuxprobe.comfromcachedhostfile
base|3.7kB00:00
epel|4.3kB00:00
epel/primary_db|5.9MB00:05
extras|3.4kB00:00
hhvm|2.9kB00:00
shells_fish_release_2|1.2kB00:00
updates|3.4kB00:00
updates/primary_db|821kB00:01
upgrade|1.9kB00:00
virtualbox/signature|181B00:00
virtualbox/signature|1.1kB00:00...
包git-1.7.1-8.el6.x86_64已安裝並且是最新版本
無須任何處理
#git--help
usage:git[--version][--exec-path[=GIT_EXEC_PATH]][--html-path]
[-p|--paginate|--no-pager][--no-replace-objects]
[--bare][--git-dir=GIT_DIR][--work-tree=GIT_WORK_TREE]
[--help]COMMAND[ARGS]
:
addAddfilecontentstotheindex
branchList,create,,commitandworkingtree,etclogShowcommitlogs
mvMoveorrenameafile,adirectory,orasymlink
rebaseForward-
showShowvarioustypesofobjects
tagCreate,list,
See'githelpCOMMAND'.
下面我給介紹一種從本地上傳到伺服器的命令:
命令rz和sz命令,首先你需要安裝lrzsz庫
#rz--help
rzversion0.12.20
Usage:rz[options][filename.if.xmodem]
ReceivefileswithZMODEM/YMODEM/XMODEMprotocol
(X)=optionappliestoXMODEMonly
(Y)=optionappliestoYMODEMonly
(Z)=optionappliestoZMODEMonly
-+,--appendappendtoexistingfiles
-a,--asciiASCIItransfer(changeCR/LFtoLF)
-b,--binarybinarytransfer
-B,--bufsizeNbufferNbytes(N==auto:bufferwholefile)
-c,--with-crcUse16bitCRC(X)
-C,--allow-remote-(Z)
-D,--nullwriteallreceiveddatato/dev/null
--delay-
-e,--escapeEscapecontrolcharacters(Z)
-E,--
--(debugging)
-h,--helpHelp,printthisusagemessage
-m,--min-
-M,--min-bps-timeNforatleastNseconds(default:120)
-O,--disable-timeoutsdisabletimeoutcode,waitforeverfordata
--o-syncopenoutputfile(s)insynchronouswritemode
-p,--protectprotectexistingfiles
-q,--quietquiet,noprogressreports
-r,--(Z)
-R,--restrictedrestricted,moresecuremode
-s,--stop-at{HH:MM|+N}stoptransmissionatHH:MMorinNseconds
-S,--timesyncrequestremotetime(twice:setlocaltime)
--syslog[=off]turnsyslogonoroff,ifpossible
-t,--
-u,--keep-
-U,--(ifallowedto)
-v,--verbosebeverbose,providedebugginginformation
-w,--windowsizeNWindowisNbytes(Z)
-X--xmodemuseXMODEMprotocol
-y,--overwriteYes,clobberexistingfileifany
--ymodemuseYMODEMprotocol
-Z,--zmodemuseZMODEMprotocol
#sz--help
szversion0.12.20
Usage:sz[options]file...
or:sz[options]-{c|i}COMMAND
Sendfile(s)withZMODEM/YMODEM/XMODEMprotocol
(X)=optionappliestoXMODEMonly
(Y)=optionappliestoYMODEMonly
(Z)=optionappliestoZMODEMonly
-+,--(Z)
-2,--twostopuse2stopbits
-4,--try-4kgoupto4Kblocksize
--start-4kstartwith4Kblocksize(doesn'ttry8)
-8,--try-8kgoupto8Kblocksize
--start-8kstartwith8Kblocksize
-a,--asciiASCIItransfer(changeCR/LFtoLF)
-b,--binarybinarytransfer
-B,--bufsizeNbufferNbytes(N==auto:bufferwholefile)
-c,--(Z)
-C,--command-(Z)
-d,--dot-to-slashchange'.'to'/'inpathnames(Y/Z)
--delay-
-e,--(Z)
-E,--
-f,--full-pathsendfullpathname(Y/Z)
-i,--immediate-commandCMDsendremoteCMD,returnimmediately(Z)
-h,--helpprintthisusagemessage
-k,--1ksend1024bytepackets(X)
-L,--(Z)
-l,--(l>=L)(Z)
-m,--min-
-M,--min-bps-timeNforatleastNseconds(default:120)
-n,--newersendfileifsourcenewer(Z)
-N,--newer-or-(Z)
-o,--16-bit-(Z)
-O,--disable-timeoutsdisabletimeoutcode,waitforever
-p,--(Z)
-r,--(Z)
-R,--restrictedrestricted,moresecuremode
-q,--quietquiet(noprogressreports)
-s,--stop-at{HH:MM|+N}stoptransmissionatHH:MMorinNseconds
--
--tcp-serveropensocket,waitforconnection
-u,--
-U,--(ifallowedto)
-v,--verbosebeverbose,providedebugginginformation
-w,--windowsizeNWindowisNbytes(Z)
-X,--xmodemuseXMODEMprotocol
-y,--
-Y,--overwrite-or-skipoverwriteexistingfiles,elseskip
--ymodemuseYMODEMprotocol
-Z,--zmodemuseZMODEMprotocol
.com。
9. 如何 連接 linux git伺服器
1、前期准備 伺服器上配置好的git git客戶端 1.1 在伺服器上安裝git (本機所使用的linux是ubuntu) 在伺服器輸入命令:sudo apt-get install git即可 然後創建名字為git的用戶組和用戶 1.2 下載客戶端 在瀏覽器地址欄輸入:https://git-for-windows.github.io/ 回車後 點擊Download進行下載 2、具體操作 2.1 在合適的位置創建一個目錄充當git遠程倉庫(本機位置為/usr/testgit),然後使用init命令初始化倉庫 在命令終端輸入: sudo git init –bare 2.2 將git init生成的目錄所屬者改為git 輸入命令:sudo chown -R git:git * 至此伺服器端的操作完成。 在客戶端合適位置使用git 客戶端從伺服器資源 2.3 首先打開git客戶端 點擊Git Bash Here 後出現 在git客戶端命名終端輸入: git clone git@xxxxxx:/rrrrr 其中xxxxxx是遠程伺服器的地址 rrrrr為git倉庫所在位置 如果配置正確你選中的目錄下會出現名字為testgit的文件夾 testgit文件夾下隨意創建若干個文件 2.3 在git客戶端上使用命令 git add 111.txt 222.txt 333.txt 或者使用git add .(將本文件夾下所有文件都add) 該命令的作用是告訴git把文件添加到git倉庫 2.4 然後使用git commit命令將文件提交到git倉庫 -m 後面的內容為本次提交文件的一些注釋內容 此時文件還沒有從本地倉庫上傳到遠程伺服器倉庫 2.5 使用push命令將本地倉庫中的內容提交到遠程倉庫 在git客戶端命令終端輸入:git push origin master 至此本地倉庫中的文件上傳已經上傳到遠程伺服器倉庫。 在其他文件夾下再次使用 git clone 命令 從遠程伺服器同步倉庫
10. git文件怎麼上傳到linux
Git 上傳本地文件到github
1 git config --global user.name "Your Real Name"
2 git config --global user.email [email protected]
git init
git add .
git commit -m 'Test'
git remote add origin [email protected]:XXX/XXX.git 3 git push -u origin master