首页 > 编程知识 正文

git工具(git图形化管理工具)

时间:2023-05-03 12:58:37 阅读:84648 作者:514

一、为什么有必要了解Git

Git是一套版本控制系统。 看了《Git版本管理》,大部分盆友都已经想去了。 当你握着门把手准备开门出去的时候,请最后听我说。 每个人都需要版本控制。 Git可以减少停电/蓝屏/恐慌税,提高生产力。 一根头发也不来吗?

半夜试着写了报告ppt吗? “报告PPT”“报告PPT 1”“报告PPT11“报告ppt2015-03-17新”“报告ppt2015-03-17新1”……无休止的命名斗争,此为

无论是学生党还是设计师(变更20个版本后终于恢复到第一个版本),公众号运营还是音乐人,都在不断产生自己的“半成品/作品”。 99.999%的作品不能一下子写出来。 例如,这个笔记本的第一个commit版本很悲惨。 如果有版本管理意识和高效便捷的工具,生活可能会变得简单。 不能说sydxgz停电导致的忘记保存、脑残的备份删除等好事正在等待。

来吧,fork有意思的东西,git拿着你应该在意的东西,一步一步来做我们的作品。

二、Git的主要概念

Git安装在本地和远程进行版本管理。

1 .工作区

4个空间概念:工作目录(工作区)、转移区域)索引)、本地仓库)、远程仓库)。

请想象一下。 开包子店。 (照片不是同一个包子。 请谅解。 ~ )

首先,需要一张大桌子来放面、皮、馅等。 此表相当于工作区。 和你辛苦的地方一起,工作主要在这里进行。

然后,包好的包子们放在一个蒸笼里,等着被蒸。 这个蒸笼是index的暂时储存区。 蒸锅是用来装我们想留下的成品和半成品的,至于选哪个卖,是接下来要考虑的事情。

下一步,蒸肉包子。 蒸制的包子已经可以吃了,但是必须从蒸笼里拿出来放进盘子里。 盘子就像当地仓库的local repository,里面是等待发货的好东西。 当然,也可以在最后一刻扔掉不喜欢的包子,或者自己吃。

最后一步是把包子送到架子/客人的桌子上。 对公众开放的架子,在远程仓库remote repository,丑陋的媳妇终于见到了奶奶。

配合下图,我们对Git有基本概念。

via osteele.com

2 .头部分支主原点

Git系统的本质就像一棵大树,树干(比如Head )是最后提出的成果。 在树干上,可以张开无数的树枝(branch之类的),乱搞。 我不怕乱。 剪了再打开一个树干也不会受到任何影响。 可以挥舞ok的分支,最后合并到默认的分支(master )。

用技术语言描述的话,分支是用来与特性开发绝缘的。 创建仓库时,主节点是“默认”分支。 在其他分支进行开发,完成后将其合并到主分支。

origin是什么? origin是远程的默认仓库。 完成克隆后,Git会自动将远程仓库命名为origin。

Head和master是什么关系? Head实际上是一个指针,指向当前最近的commit的branch。 因为master是本地缺省分支,所以Head始终指向master。 另外,虽然Head是官方定义的,但master和origin是大家常用的命名,不一定要叫master和origin。 2

3 .工作流程:添加提交推送

将馒头从桌子移到蒸锅上,报告说add————已被修改为modified————,并写了ppt初稿; 将包子从蒸锅移至盘中,报告commit————已暂时保存在staged————中,ppt完成后保存在USB存储器中

/网盘什么的;把包子从盘子挪到货架,叫push————已提交commited——汇报ppt发送到boss邮箱。

Git的好处之一是,包子包好后,还可以回退……

三、配置

1.工作目录2.本地仓库3.远程仓库

四、常用命令

最常用:git command --help

1.创建

需要进入目标目录进行操作

创建新仓库:git init创建一个本地仓库的克隆版本:git clone /path/to/repository克隆远端服务器上的仓库: git clone username@host:/path/to/repository

2.查询

git status

staged:已在index,等待被commit.unstaged:文件做了改动,但还不能被commit.untracked:Git还没有开始跟踪,需要先add.deleted:文件已被删除,等待remove.

Staging Area:commit前把文件们收集到一起,以便打包commit。

3.add/添加

添加到暂存区(让Git开始跟踪更改,也就是从untracked变为tracked):git add <filename> 或 git add *添加全部文件:git add -A, -A 表示包含删除的文件。git reset: git reset <filename> 从staging area移除文件。

4.commit/提交

"commit" 可以理解为一次快照,帮助我们把所有改动以timeline的方式组织起来。

提交改动(到head,但还没到远程服务器):git commit -m "代码提交信息" git commit -m 'Add all files'把所有当前目录下的文件加入暂存区域再运行commit:git commit -a提交到远程仓库:git push origin master (可以把 master 换成你想要推送的任何分支)。如果还没有克隆现有仓库,并想将仓库连接到某个远程服务器:git remote add origin <server>。

5.push/推送

将文件推送到远程仓库中:git push -u origin master。远程仓库默认叫origin 。-u 告诉Git记住参数,下次可以直接使用push。

6.pull/拉取

更新本地仓库至最新改动:git pull origin master

7.checkout/切换

checkout命令用于从历史提交(或者暂存区域)中拷贝文件到工作目录,也可用于切换分支

切换分支: git checkout <branch>新建并切换到分支:git checkout -b new_branch 等同于:git branch new_branch + git checkout new_branch把文件从暂存区域复制到工作目录,用来丢弃本地修改:git checkout --<files>回滚到复制最后一次提交:git checkout HEAD -- <files>

8.diff/比对

git diff

9.reset/撤销

从index中撤销所有文件:git reset从index中撤销最后一次add的文件:git reset --<flies>恢复之前版本:git reset --hard回滚到最近一次:git checkout -- <target>

10.merge

合并其他分支到当前分支:git merge

11.remove & clean

从硬盘和index移除文件:git rm删除分支git branch -d <branch name>

五、待解决问题

每次push需要输入github用户名密码

“需要git学习资料的朋友可以关注私信1下载资料”

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。