萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux系統中Git工作流程和基本操作

Linux系統中Git工作流程和基本操作

  在Linux系統中Git主要用來管理軟件的源代碼,當然Linux Git也可以用來保存一些私人的文檔。下面就為大家分享一下Linux系統中Git工作流程和基本操作。

Linux系統中Git工作流程和基本操作

  1.Git的安裝(http://www.git-scm.com/download/)

  2.Git配置【git config】

  關於git命令的查詢方式:

  git安裝根目錄下/doc/index.html可以查詢,更方便的方式是在使用git時通過help進行有針對性的調用。(以查詢config幫助文檔為例具體語法為:git config --help/git help config)

  pro git參考文檔

  git的已配置信息都會存儲在用戶目錄(例C:\Users\Administrator)下的.gitconfig文件中

  git配置的三個級別:

  system(針對系統)

  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” 上一頁123下一頁共3頁

  Git工作流程基本操作

  0.git文件類型(文件對象標識:40個十六進制字符)

  blob (binary large object):文本文件,二進制文件,鏈接文件

  tree:目錄

  commit:歷史提交

  tag:指向一個固定的歷史提交

  1.git創建倉庫

  bare_repository:工作區和工作目錄沒有區別。(git init --bare RepositoryName)

  non_bare_repository:在倉庫目錄下有單獨的.git的目錄。(git init RepositoryName)

  在創建的倉庫目錄下(git init)創建non_bare_repository倉庫,也可以用於將已有的項目納入git的管理。

  克隆其他倉庫(git clone SourceRepo DestinationRepo)

  2.git所管理項目的文件結構

  working directory(工作區)

  staging area(暫存區):代表需要提交的狀態。

  history repository(歷史倉庫)。

  3.git對項目文件的管理

  git add:將文件從工作區添加到暫存區。

  git commit:將暫存區中的文件提交為歷史記錄

  git status:查看工作區和暫存區之間的區別(紅色),暫存區和上次提交歷史記錄的區別(綠色)

  git rm:清理暫存區和工作區中的文件。(只清楚暫存區中的文件:git rm --cached FileName)

  git mv:修改工作區中的文件(重命名,移動)

  git checkout:從暫存區中將已刪除文件檢出到工作區;

  gitignore:標明工作區中的指定文件不被添加到暫存區或歷史記錄中,

  對於向暫存區中添加文件且需要忽略多個文件的情況,采取的方法是在工作目錄下創建名為.gitignore的文件,在其中聲明忽略文件格式如下:

  ◦*~:通配臨時文件。

  ◦*.[oa]:通配後綴名為o或a的文件。

  ◦*.txt:通配後綴名為txt的文件。

  ◦folder/:通配名為folder的文件夾。

  ◦**/res:通配各文件夾下的名為res的文件。

  ◦!test:指明名為test的文件不被忽略。

  ◦\!test1:對於忽略文件名以!開頭的文件,需加反斜槓“\”進行轉義。 上一頁12 3下一頁共3頁

  4.git的暫存區

  git對於暫存區的內容維護於.git/index文件中。

  5.git的本地分支與合並

  git branch:創建分支。(一般的,分支名如主分支master一般都會指向該分支的最新的一次提交)

  git tag:標記特定打的提交;查詢所創建的tag。(tag分兩種:1.輕量級本地的:git tag “TagName” commitNo. ,2.帶注解可推送至服務器的:git tag -a “TagName” commitNo.)

  git checkout:在分支間進行切換。(創建分支和切換分支可以融合為一條命令:git checkout -b branchName)。如果checkout至一個tag,那麼此時HEAD所處的狀態是detached,就是說如果你不對此tag創建分支並checkout至新分支,那麼你所做的任何修改及提交都不會被保存。

  git stash:切換分支之前保存本地修改《隱形commit》,但又不產生新的commit。(保存:git stash save -a “stashMessage”。查看該分支中存儲的修改記錄:git stash list。恢復保存的記錄:git stash pop --index stash@{No.}。當恢復記錄後,stash所保存的記錄將不存在。如果想要保存stash記錄,可以使用:git stash apply --index stash@{No.}。清除stash中的記錄:git stash drop stash@{No.}。清除所有stash:git stash clear。)

  git merge:合並分支。分兩種:一種是fast-forward:兩個記錄是父子關系;non-fast-forward:兩個記錄有共同的父節點,需要先處理沖突後提交合並。(當要合並的分支之中,部分文件存在沖突,想要放棄合並:git merge --abort。)

  git log:查看git的歷史提交情況(git log --oneline --decorate --graph --all)

  6.查看和對比歷史記錄

  git show:顯示提交信息

  git log:顯示日志

  git diff:比較差異(比較當下工作區和最近一次提交版本之間的差別)

  7.撤銷修改

  git checkout:還原工作區(用暫存區中的記錄來還原工作區,如git status有modified記錄,此命令可撤銷修改)

  git reset:還原暫存區(使用某次遞交結果來還原暫存區)

  git clean:移除工作目錄中未提交和未添加至暫存區中的文件(git clean -n顯示將要刪除的文件,git clean -f刪除文件,git clean -df刪除文件和目錄。對於需要清除git工作目錄下.gitignore文件中忽略的文件,git clean -n -X查看將會刪除的.gitignore中的忽略文件)

  git revert:產生新的提交並覆蓋之前提交的修改

  8.重寫歷史記錄

  git commit --amend:重寫當前所指向的歷史提交

  ◦指向某次提交前的若干版本:([版本指針]~:該版本指針所指向版本的前一個版本。[版本指針]^n:該版本指針所指向版本的前n個版本 )

  git rebase:維護線性歷史,類似於git merge。

  git reset:(git reset --hard [歷史提交]:將暫存區和工作區還原成制定的歷史提交,並移動HEAD指針。git reset --mixed:還原暫存區,並移動HEAD指針,--mixed為默認命令。git reset --soft [歷史提交]:只移動HEAD指針。)

  git reflog:列出HEAD所指向的歷史紀錄。

  以上就是Linux系統中Git工作流程和基本操作了,本文比較詳細地介紹了Linux Git使用教程,希望對大家會有用。

上一頁123 下一頁共3頁
copyright © 萬盛學電腦網 all rights reserved