git入门

前言:是一个分散式版本控制软件,最初由林纳斯·托瓦兹制作,于2005年以GPL协议出品。如网站github,本文简单的介绍一些的git 的常用操作。

1、 git init

命令作用:在当前目录新建一个Git代码库
使用时间:当需要创建新仓库时使用
代码实例:git init

2、git add

命令作用:添加指定文件到暂存区
使用时间:当本地创建文件或更新文件时,需要现将其存入暂存区
代码实例:git add index.html

3、git commit -v

命令作用:提交时显示所有diff信息
代码实例:git commit -v

4、 git commit -m

命令作用:提交暂存区到仓库区
使用时间:当所有的文件都创建或者更新完成并都提交至暂存区后使用
代码实例:git commit -m "新的更新"

5、代码上传

  • git pull 取回远程仓库的变化,并与本地分支合并
  • git push 上传本地指定分支到远程仓库

6、一些简单的查询命令

  • git diff 显示暂存区和工作区的差异
  • git status -sb 显示有变更的文件
  • git log 显示当前分支的版本历史

7、git中commit合并

大致流程:

git log |head 
git rebase -i d1
# if fail, use git rebase --abort
git push --force 

详细流程:

  1. 首先:查看提交历史,git log,历史记录是按照时间排序的,时间近的排在前面。

  2. git rebase。想要合并1-3条,有两个方法:

    • 从HEAD版本开始往过去数3个版本
      git rebase -i HEAD~3
    • 指名要合并的版本之前的版本号
      git rebase -i 3a4226b
      请注意3a4226b这个版本是不参与合并的,可以把它当做一个坐标
  3. 选取要合并的提交

    • 执行了 rebase命令之后,会弹出一个窗口,头几行如下:
    pick 3ca6ec3   '注释**********'
    pick 1b40566   '注释*********'
    pick 53f244a   '注释**********'
    
    • 将pick改为squash或者s,之后保存并关闭文本编辑窗口即可。改完之后文本内容如下:
    pick 3ca6ec3   '注释**********'
    s 1b40566   '注释*********'
    s 53f244a   '注释**********'
    
  4. 然后保存退出,Git会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。修改以后要记得敲下面的命令:
    git rebase --abort

  5. 如果没有冲突,或者冲突已经解决,则会出现如下的编辑窗口,输入提交信息后退出即可。

# This is a combination of 4 commits.  
#The first commit’s message is:  
注释......
# The 2nd commit’s message is:  
注释......
# The 3rd commit’s message is:  
注释......
# Please enter the commit message for your changes. Lines starting # with ‘#’ will be ignored, and an empty message aborts the commit.
  1. 然后再次查看提交历史就会发现这几次提交已经被合并了,然后git push -f提交到远程即可。
    • 关于git push -f命令:
      如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,然后再推送到远程主机。这时,如果你一定要推送,可以使用--force选项。使用--force选项,结果导致远程主机上更新的版本被覆盖。除非你很确定要这样做,否则应该尽量避免使用--force选项。

10、一些关于git更深入的介绍

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 16,289评论 5赞 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 4,217评论 0赞 11
  • http://mp.weixin.qq.com/s?__biz=MzA5MTE4MDY1Ng==&mid=2455...
    老橘子1453阅读 239评论 1赞 1
  • 五年三班钱金旭(第五天),阅读20分钟。
    起点_7eab阅读 214评论 0赞 0
  • 最近两天更新ES6学习文集,因为在搞Swift的UT测试。大致要实现的内容如下: 因为App在调用Api的时候,其...
    Zip_Wang阅读 1,593评论 0赞 48

友情链接更多精彩内容