ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

git的基本操作流程及常用的git操作命令

2021-11-26 14:34:07  阅读:147  来源: 互联网

标签:文件 git 操作命令 库中 -- branch 基本操作 分支


一、基本操作流程介绍

请添加图片描述
上述流程中所对应的区域名称:
请添加图片描述
文件的四种状态:

1.Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态
变为Staged.

2.Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的
文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件

3.Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可
进入暂存staged状态, 使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从
库中取出文件, 覆盖当前修改

4.Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致,
文件为Unmodify状态. 执行git reset HEAD filename取消暂存, 文件状态为Modified

二、常用的git操作命令

首先说一下一般情况下不新建分支使用git的基本操作流程:

创建git目录有两种情况:

第一种:如果是自己创建的项目则初始化文件

git init 

注意: 在初始化文件后文件内会多出一个.git文件,该文件为隐藏文件

第二种:如果要使用github或者码云上的代码,将代码克隆下来
请添加图片描述

git clone 复制的链接

这样就将代码克隆到自己的电脑了

当我们在修改完自己的项目文件后

1、将需要进行版本管理的文件放入暂存区域

git add .

2、将本地暂存的修改提交到本地版本库中。

git commit -m "修改的内容描述自己填写"

3、将本地库中的最新信息提交到远程库中

git push

这样就实现了将本地git目录下的代码提交到远程master分支上。
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)。

但是需要注意的是:master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

如果还需要更多的操作请参考下列命令:

查看git上所有的配置:
git config -l

查看git的系统配置: 
git config --system --list

查看git上用户自己的配置:
git config --global --list

设置用户名称和邮箱(安装git后必须要做的一步)
git config --global user.name "xxx" #名称
git config --global user.email xxx@qq.com  #名称

列出所有本地分支:
git branch

列出所有远程分支:
git branch -r

新建一个分支,但依然停留在当前分支([branch-name]新建分支名字)
git branch [branch-name]

新建一个分支,并切换到该分支
git checkout -b [branch]

合并指定分支到当前分支
git merge [branch]

删除分支
git branch -d [branch-name]

删除远程分支:
git push origin --delete [branch-name]
git branch -dr [remote/branch]

查看指定文件状态:
git status [filename]

查看所有文件状态:
git status

生成公钥:
在‘C:\Users\jjy\.ssh’路径下执行(自己电脑安装git对应的.ssh文件)
ssh-keygen
使用加密算法生成公钥:ssh-keygen -t rsa
成功后该文件下会生成两个文件:id_rsa、id_rsa.pub

标签:文件,git,操作命令,库中,--,branch,基本操作,分支
来源: https://blog.csdn.net/jiangjunyuan168/article/details/121558082

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有