git学习简札

git作为最流行的分布式版本控制系统,当然值得系统的学习一下。由于本人用的是linux系统,所以记录的基于linux系统的学习。

一、安装git 。

  git

  输入git测试一下是否已安装,如果没有

  sudo apt install git

  安装即可。

二、创建版本库

  mkdir learnGit                        //创建目录
  cd learnGit                //进入该目录
  git init                  //初始化

  现在learnGit目录下就已经成为git仓库。

git add test.py                //提交文件
git add test2.py,test3.py           git commit -m 'this is the first test'  //统一上传到仓库

  可将git仓库下的文件提交到仓库。-m参数,后面是描述文件

  当我们修改了test.py文件之后,可使用

  git status

  查看修改状态。

wzg@DESKTOP-wzg:~/learnGit$ git status
位于分支 master
尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git checkout -- <文件>..." 丢弃工作区的改动)

	修改:     test.py

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

  可使用

git diff test.py

  查看修改的状态。

  修改之后可根据git status提示的信息进行提交。

三、版本回退

  可以使用

  git log

  查看git提交记录。

  在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

wzg@DESKTOP-wzg:~/learnGit$ git log
commit cf1f687d6243ba13a3253524ade1470bdcbd9e41
Author: wzg <wzg@DESKTOP-wzg.lan>
Date:   Sun Jul 9 12:51:58 2017 +0800

    the first git file for test

  (cf1f687d6243ba13a3253524ade1470bdcbd9e41)是版本号。

  git reset --hard HEAD^
wzg@DESKTOP-wzg:~/learnGit$ git reset --hard HEAD^
fatal: 有歧义的参数 'HEAD^':未知的版本或路径不存在于工作区中。
使用 '--' 来分隔版本和路径,例如:
'git <command> [<revision>...] -- [<file>...]'
wzg@DESKTOP-wzg:~/learnGit$ git log --pretty=oneline
cf1f687d6243ba13a3253524ade1470bdcbd9e41 the first git file for test
wzg@DESKTOP-wzg:~/learnGit$ git reset --hard cf1f687d6243ba13a3253524ade1470bdcbd9e41
HEAD 现在位于 cf1f687 the first git file for test

  想回到哪个版本,就输入哪个版本号就行了。

  Git提供了一个命令git reflog用来记录你的每一次命令

wzg@DESKTOP-wzg:~/learnGit$ git reflog
cf1f687 HEAD@{0}: reset: moving to cf1f687d6243ba13a3253524ade1470bdcbd9e41
cf1f687 HEAD@{1}: commit (initial): the first git file for test

  前面的cf1f687就是版本号。

   撤销修改

  git checkout -- file可以丢弃工作区的修改

  git checkout --test.py

  回到和版本库一样的状态.

  删除文件

  git rm test.py
  git commit -m 'delete file'

  

四. 本地操作

   git pull  // 拉取, 将服务器资源同步到本地
git pull --all //全部分支更新
git remote prune origin // 服务器分支已删除, 将本地的origin/分支也删除
git branch -D 分支name // 删除本地分支, 需要切换到master分支上

  

    

相关文章

本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不...
本文小编为大家详细介绍“怎么将工程托管到gitee”,内容详细...
这篇文章主要介绍了gitee中图片大小如何调整的相关知识,内容...