Git的使用(二)——查看仓库状态及上次的操作

       在上一篇Git的使用(一)中我们简单的介绍了Git的安装极其简单的应用。这次我们就来看看怎么去更加快捷方便的管理我们的仓库。

       首先,我们继续修改HelloGit.java文件,向第二行添加一句 Welcome to Git!。然后运行git status命令看看结果:

     

     可以看到,通过git status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,HelloGit.java被修改过了,但还没有准备提交的修改。虽然Git告诉我们HelloGit.java被修改了,但如果能看看具体修改了什么内容,自然是很好的。放心,大神们已经为我们想好了,通过git diff命令就可以查看被修改的内容。

     

     我们通过git diff可以看到上次我们修改的内容了,这次提交的时候就放心多了。接下来的提交到仓库就和上篇中提到的一样了,这里我在演示一遍,复习复习。

     1、首先是git add,当然这里并不会有什么输出。还是那句话没有消息就是好消息。

          

     2、这里我们可以通过git status来告诉我们要提交的都有什么。

          

     3、接下来就可以放心的提交了git commit

         

     4、将我们的修改push到远端仓库利用git push

         

      5、然后在通过git status查看当前仓库的状态,nothing to commit告诉我们当前没有需要提交的修改,working  

         directory clean告诉我们工作目录还是很干净的,毕竟刚才已经提交过了嘛。

          

      6、在远程仓库就可以看见我们提交的东西了

         

小结
  • 要随时掌握工作区的状态,使用git status命令。

  • 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。


### Git 使用教程:命令行操作新手入门 #### 安装和初始化配置 为了开始使用 Git,需要先安装并进行基本设置。对于大多数操作系统而言,可以通过包管理器来完成安装过程[^2]。 ```bash # Ubuntu/Debian 用户可以运行此命令来进行安装 sudo apt-get install git ``` 一旦安装完毕,则需通过 `git config` 来设定全局用户名与邮箱地址: ```bash git config --global user.name "Your Name" git config --global user.email you@example.com ``` 这些信息会被记录到每一个由该用户创建的提交中去。 #### 创建新的仓库 有两种方式建立一个新的 Git 项目库。一种是在现有目录下启动版本控制系统;另一种是从零构建新项目: ```bash cd existing_folder git init ``` 或是直接创建一个全新的文件夹作为仓库: ```bash mkdir new_repo cd new_repo git init ``` 上述两条指令都会初始化当前路径下的 `.git` 隐藏文件夹用于存储元数据以及对象数据库等必要组件。 #### 工作区管理和文件状态 Git 的工作流程围绕着三个主要概念展开——工作区(Working Directory),暂存区(Index Stage Area) 和历史记录(History)。当修改了某些文件之后,它们的状态会经历未跟踪(Untracked)->已修改(Modified)->已暂存(Staged)的变化直到最终被提交至本地分支的历史当中。 要查看目前有哪些改动尚未加入到下次提交之中,可利用 `git status` 查看各个文件所处的具体阶段: ```bash git status ``` #### 添加更改并提交 每当准备好保存一组变更时,应该先把想要纳入此次更新范围内的变动标记出来再执行实际提交动作: ```bash git add <file> # 或者一次性全部添加 git add . ``` 接着便是撰写描述性的日志消息以便日后追溯原因所在: ```bash git commit -m "说明本次提交做了什么改变" ``` 这一步骤标志着一次完整的开发周期结束,并且形成了唯一的快照供后续查阅或恢复之用。 #### 版本回滚 如果发现最近的一次提交存在问题或者想回到之前的某个特定时刻,那么就可以借助于 `git reset` 实现这一点。不过需要注意的是硬重置(`--hard`)将会丢失工作区内所有未提交过的更改,请谨慎行事! ```bash # 软重置只影响HEAD指针位置而不触及索引及工作树内容 git reset --soft HEAD~1 # 混合模式默认选项既调整HEAD又清空Index但保留WorkTree中的变化 git reset --mixed HEAD~1 # 硬重置则连同Workspace一起还原至上一版状态 git reset --hard HEAD~1 ``` 另外还有专门针对单个文件撤销编辑的功能可供选择: ```bash git checkout -- <filename> # 放弃对指定文件做的任何局部修改 ``` #### 文件对比分析 有时难以直观判断两份文档之间的区别何在?没关系,有 `git diff` 出马就迎刃而解啦!它能够清晰展示出不同之处究竟藏在哪里,无论是单独比较还是结合其他参数联合运用都十分方便实用. ```bash git diff # 显示自上次提交以来的所有差异 git diff --staged # 展示已被add但是还未commit的内容差别 git diff <old_commit>..<new_commit># 对比两个不同的提交之间产生的变化 ``` #### 删除文件处理 假如不再希望继续追踪某项资源的话,记得告知 Git 不要在未来对其进行监控哦~此时就要出动我们的老朋友 `rm` 加上特殊标志 `-r` (递归移除子目录及其内容) 和 `-f`(强制覆盖不提示确认): ```bash git rm <file_name> git rm -rf <directory_path> ``` 当然也可以仅停止关注而不真正物理删除对应实体,在这种情况下只需加上额外开关 `--cached` 即可达到目的. #### 忽略规则制定 为了避免不必要的麻烦,通常建议维护一份名为`.gitignore` 的清单用来列举那些不应该受到 Git 控制的对象类别比如编译产物、临时缓存之类的东西。每行写入一条匹配表达式即可生效. ```plaintext *.log # 所有的.log结尾的日志文件都将被排除在外 /build/* # 整个build目录里的东西都不会被打扰 !./build/bar.txt# 例外情况是这个具体的条目仍然保持可见性 ``` #### GitHub账户注册及相关设置 拥有个人在线代码托管平台是非常重要的事情之一,这里推荐前往 [GitHub](https://github.com/) 注册账号享受更多特色服务功能吧!初次登录后别忘了按照指引完善SSH密钥关联步骤确保安全通信渠道畅通无阻. #### 远程同步协作 最后也是最重要的一部分就是学会如何与其他开发者共同作业啦。一般来讲我们会把本地成果推送到远端服务器上去分享给团队成员们审阅测试等等;反过来也能拉取最新的官方发行版回来合并进自己的副本里边不断迭代进步. ```bash # 将远程仓库链接过来成为伙伴关系 git remote add origin https://github.com/user/repo.git # 把最新进展上传云端备份起来 git push -u origin master # 下载别人贡献的新特性集成进来 git pull origin master ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值