系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > Linux中Git工作流程

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

时间:2015-08-03 14:16:37 作者:zhijie 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20150803/54523.html 手机查看 评论

  在Linux系统中Git主要用来管理软件的源代码,当然Linux Git也可以用来保存一些私人的文档。下面就为大家分享一下Linux系统中Git工作流程和基本操作。

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

  1.Git的安装(https://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”

  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:对于忽略文件名以!开头的文件,需加反斜杠“\”进行转义。

  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使用教程,希望对大家会有用。

标签 命令

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录