标签:文件 git 暂存区 学习 命令 GIT diff 分支
一、Github注册
Git安装和Github简明教程可以参考这篇文章:
二、Git使用
git的四个区域
git本地有三个工作区域:工作区(Working)、暂存区(Stage/index)、资源库(Repository)和远程的git仓库(Remote)
Workspace: 工作区,自己存放项目代码的地方
Index / Stage:暂存区,临时存放你的改动,事实上它只是一个文件,保存即 将提交到文件列表信息
Repository: 仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
Remote: 远程仓库,托管代码的服务器
git status 命令
git status 命令用于查看在你上次提交之后是否有对文件进行再次修改。
通常我们使用 -s 参数来获得简短的输出结果。
git status -s 状态码解析
A: 你本地新增的文件(服务器上没有).
C: 文件的一个新拷贝.
D: 你本地删除的文件(服务器上还在).
M: 文件的内容或者mode被修改了.
R: 文件名被修改了。
T: 文件的类型被修改了。
U: 文件没有被合并(你需要完成合并才能进行提交)。
X: 未知状态(很可能是遇到git的bug了,你可以向git提交bug report)
?:未被git进行管理,可以使用git add file1把file1添加进git能被git所进行管理
git diff 命令
git diff 命令比较文件的不同,即比较文件在暂存区和工作区的差异。
git diff 命令显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别。
git diff 有两个主要的应用场景。
- 尚未缓存的改动:git diff:显示暂存区和工作区的差异
- 查看已缓存的改动: git diff --cached:或者--staged,显示暂存区和上一次提交(commit)的差异
- 查看已缓存的与未缓存的所有改动:git diff HEAD
- 显示摘要而非整个 diff:git diff --stat
git status 显示你上次提交更新后的更改或者写入缓存的改动, 而 git diff 一行一行地显示这些改动具体是啥。
git add 命令
git add 命令可将该文件添加到暂存区。
git commit 命令
前面章节我们使用 git add 命令将内容写入暂存区。
git commit 命令将暂存区内容添加到本地仓库中。
-a 参数设置修改文件后不需要执行 git add 命令,直接来提交。
撤销未提交的修改
git checkout <路径/文件名>:适用于没有执行过add命令的文件
git reset HEAD <路径/文件名>:适用于没有执行过add命令的文件
Git 分支管理
git branch (branchname):创建分支命令
git checkout (branchname):切换分支命令
git merge:合并分支命令
git branch: 没有参数时,会列出你在本地的分支。
git checkout -b (branchname) :我们可以使用这个命令来创建新分支并立即切换到该分支下,从而在该分支中操作。
git branch -d (branchname):删除分支命令
git branch -r:查看远程所有分支
git remote -v:显示所有远程仓库
git pull 命令
git pull 命令用于从远程获取代码并合并本地的版本。
git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写。
命令格式如下:git pull <远程主机名> <远程分支名>:<本地分支名>
git push命令
git push 命用于从将本地的分支版本上传到远程并合并
命令格式如下:git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号:git push <远程主机名> <本地分支名>
标签:文件,git,暂存区,学习,命令,GIT,diff,分支 来源: https://www.cnblogs.com/cavange/p/16400550.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。