git

作者: changxiaonan | 来源:发表于2018-05-05 17:21 被阅读0次

在windows上安装git

前言:在介绍git前,先说下git的原理
git是分为三部分,一部分是你自己的文件(工作区),另外一个是缓存区,最后一个是本地库。当你修改了自己的文件后,你会git add xx将修改保存到缓存区,然后再用commit推送修改到本地库中,git push 将本地仓库修改推送到服务器上的仓库中

  1. 在Windows上使用Git,可以从Git官网直接下载安装程序
  2. 安装完成后,还需要最后一步设置,在命令行输入:

git config --global user.name"Your Name"

git config --global user.email"email@example.com"

  1. 通过git init命令把这个目录变成Git可以管理的仓库
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
如果你没有看到.git目录,那是因为这个目录默认是隐藏的

  1. 拉取代码

通过git pull命令拉取代码
git pull令用于从另一个存储库或本地分支获取并集成(整合)。git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并,它的完整格式稍稍有点复杂
git pull <远程主机名> <远程分支名>:<本地分支名>
相当于是从远程获取最新版本并merge到本地

  1. 新增文件

通过git add命令新增文件
git add命令分为三种,分别为git add .,git add -u,git add -A
git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件
git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件(包括被删除的文件)提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
git add -A :是上面两个功能的合集(git add --all的缩写),包括新增,修改,删除的所有文件

  1. 提交文件

git commit -m '提交的问题描述'
将缓存区中的文件推送到本地git仓库中

  1. 推送到远程主机

git push <远程主机名> <本地分支名>:<远程分支名>

  1. 文件从暂存区回退到工作区,版本库回退

git reset HEAD filename :回退文件,将文件从暂存区回退到工作区,也可以使用 git reset filename
git reset HEAD^ :回退版本,一个^表示一个版本,可以多个,另外也可以使用 git reset HEAD~n这种形式。

  1. 查看git状态,看有哪些文件被修改了,但是还没有提交

通过命令git status可以看到当前版本的状态,但是看不到具体修改了哪些内容,如果想看到具体修改了哪些内容,需要通过命令git diff来查看

  1. 查看提交日志

通过命令git log查看提交日志,加上参数--pretty=oneline后,每个提交记录会显示在一行之中
git log --pretty=oneline

  1. 查看历史提交命令

通过命令git reflog查看历史提交命令

  1. git checkout -- file 丢弃工作区的修改

命令git checkout -- file的作用就是,把文件file再工作区的修改全部撤销,这里有两种情况,
一种是文件file自修改后还没有放到缓存区,撤销修改后就回到和版本库一模一样的状态;
一种是文件file已经添加到缓存区,又作了修改,现在,撤销修改就回到添加到缓存区后的状态;
总之,就是让这个文件回到最近一次git commitgit add时的状态。

  1. git rm版本库中删除文件

git rm file,并且git commit,这样,文件就从版本库中被删除了

  1. 关于分支的命令

查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

  1. git stash

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场

  1. git tag

命令git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id
git tag -a <tagname> -m "message"可以指定标签信息
git tag -s <tagname> -m "message"可以用PGP签名标签
命令git tag可以查看所有标签
命令git push origin <tagname>可以推送一个本地标签
命令git push origin --tags可以推送全部未推送过的本地标签
命令git tag -d <tagname>可以删除一个本地标签
命令git push origin :refs/tags/<tagname>可以删除一个远程标签

相关文章

网友评论

      本文标题:git

      本文链接:https://www.haomeiwen.com/subject/yorerftx.html