熱搜:win11繞過硬件限制安裝 一鍵重裝Win10系統(tǒng) 最干凈的u盤啟動盤 真正純凈版的win7系統(tǒng)
時間:2015-08-03 14:16:37 作者:zhijie 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150803/54523.html 手機查看 評論 反饋
在Linux系統(tǒng)中Git主要用來管理軟件的源代碼,當然Linux Git也可以用來保存一些私人的文檔。下面就為大家分享一下Linux系統(tǒng)中Git工作流程和基本操作。
1.Git的安裝(https://www.git-scm.com/download/)
2.Git配置【git config】
關(guān)于git命令的查詢方式:
git安裝根目錄下/doc/index.html可以查詢,更方便的方式是在使用git時通過help進行有針對性的調(diào)用。(以查詢config幫助文檔為例具體語法為:git config --help/git help config)
pro git參考文檔
git的已配置信息都會存儲在用戶目錄(例C:\Users\Administrator)下的.gitconfig文件中
git配置的三個級別:
system(針對系統(tǒng))
global (針對當前的用戶)
local (針對當前操作的倉庫)
3.git用戶名的增刪改查
git增加用戶:git config --global --add user.name username
git刪除用戶:git config --global --unset user.name username
git查找用戶:git config --global --list
4.git命令起別名
git config --global alias.co “checkout”
Git工作流程基本操作
0.git文件類型(文件對象標識:40個十六進制字符)
blob (binary large object):文本文件,二進制文件,鏈接文件
tree:目錄
commit:歷史提交
tag:指向一個固定的歷史提交
1.git創(chuàng)建倉庫
bare_repository:工作區(qū)和工作目錄沒有區(qū)別。(git init --bare RepositoryName)
non_bare_repository:在倉庫目錄下有單獨的.git的目錄。(git init RepositoryName)
在創(chuàng)建的倉庫目錄下(git init)創(chuàng)建non_bare_repository倉庫,也可以用于將已有的項目納入git的管理。
克隆其他倉庫(git clone SourceRepo DestinationRepo)
2.git所管理項目的文件結(jié)構(gòu)
working directory(工作區(qū))
staging area(暫存區(qū)):代表需要提交的狀態(tài)。
history repository(歷史倉庫)。
3.git對項目文件的管理
git add:將文件從工作區(qū)添加到暫存區(qū)。
git commit:將暫存區(qū)中的文件提交為歷史記錄
git status:查看工作區(qū)和暫存區(qū)之間的區(qū)別(紅色),暫存區(qū)和上次提交歷史記錄的區(qū)別(綠色)
git rm:清理暫存區(qū)和工作區(qū)中的文件。(只清楚暫存區(qū)中的文件:git rm --cached FileName)
git mv:修改工作區(qū)中的文件(重命名,移動)
git checkout:從暫存區(qū)中將已刪除文件檢出到工作區(qū);
gitignore:標明工作區(qū)中的指定文件不被添加到暫存區(qū)或歷史記錄中,
對于向暫存區(qū)中添加文件且需要忽略多個文件的情況,采取的方法是在工作目錄下創(chuàng)建名為.gitignore的文件,在其中聲明忽略文件格式如下:
◦*~:通配臨時文件。
◦*.[oa]:通配后綴名為o或a的文件。
◦*.txt:通配后綴名為txt的文件。
◦folder/:通配名為folder的文件夾。
◦**/res:通配各文件夾下的名為res的文件。
◦!test:指明名為test的文件不被忽略。
◦\!test1:對于忽略文件名以!開頭的文件,需加反斜杠“\”進行轉(zhuǎn)義。
4.git的暫存區(qū)
git對于暫存區(qū)的內(nèi)容維護于.git/index文件中。
5.git的本地分支與合并
git branch:創(chuàng)建分支。(一般的,分支名如主分支master一般都會指向該分支的最新的一次提交)
git tag:標記特定打的提交;查詢所創(chuàng)建的tag。(tag分兩種:1.輕量級本地的:git tag “TagName” commitNo. ,2.帶注解可推送至服務(wù)器的:git tag -a “TagName” commitNo.)
git checkout:在分支間進行切換。(創(chuàng)建分支和切換分支可以融合為一條命令:git checkout -b branchName)。如果checkout至一個tag,那么此時HEAD所處的狀態(tài)是detached,就是說如果你不對此tag創(chuàng)建分支并checkout至新分支,那么你所做的任何修改及提交都不會被保存。
git stash:切換分支之前保存本地修改《隱形commit》,但又不產(chǎn)生新的commit。(保存:git stash save -a “stashMessage”。查看該分支中存儲的修改記錄:git stash list。恢復(fù)保存的記錄:git stash pop --index stash@{No.}。當恢復(fù)記錄后,stash所保存的記錄將不存在。如果想要保存stash記錄,可以使用:git stash apply --index stash@{No.}。清除stash中的記錄:git stash drop stash@{No.}。清除所有stash:git stash clear。)
git merge:合并分支。分兩種:一種是fast-forward:兩個記錄是父子關(guān)系;non-fast-forward:兩個記錄有共同的父節(jié)點,需要先處理沖突后提交合并。(當要合并的分支之中,部分文件存在沖突,想要放棄合并:git merge --abort。)
git log:查看git的歷史提交情況(git log --oneline --decorate --graph --all)
6.查看和對比歷史記錄
git show:顯示提交信息
git log:顯示日志
git diff:比較差異(比較當下工作區(qū)和最近一次提交版本之間的差別)
7.撤銷修改
git checkout:還原工作區(qū)(用暫存區(qū)中的記錄來還原工作區(qū),如git status有modified記錄,此命令可撤銷修改)
git reset:還原暫存區(qū)(使用某次遞交結(jié)果來還原暫存區(qū))
git clean:移除工作目錄中未提交和未添加至暫存區(qū)中的文件(git clean -n顯示將要刪除的文件,git clean -f刪除文件,git clean -df刪除文件和目錄。對于需要清除git工作目錄下.gitignore文件中忽略的文件,git clean -n -X查看將會刪除的.gitignore中的忽略文件)
git revert:產(chǎn)生新的提交并覆蓋之前提交的修改
8.重寫歷史記錄
git commit --amend:重寫當前所指向的歷史提交
◦指向某次提交前的若干版本:([版本指針]~:該版本指針所指向版本的前一個版本。[版本指針]^n:該版本指針所指向版本的前n個版本 )
git rebase:維護線性歷史,類似于git merge。
git reset:(git reset --hard [歷史提交]:將暫存區(qū)和工作區(qū)還原成制定的歷史提交,并移動HEAD指針。git reset --mixed:還原暫存區(qū),并移動HEAD指針,--mixed為默認命令。git reset --soft [歷史提交]:只移動HEAD指針。)
git reflog:列出HEAD所指向的歷史紀錄。
以上就是Linux系統(tǒng)中Git工作流程和基本操作了,本文比較詳細地介紹了Linux Git使用教程,希望對大家會有用。
發(fā)表評論
共0條
評論就這些咯,讓大家也知道你的獨特見解
立即評論以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場