Git的使用(linux基本命令)

一、Git基础知识

参考:https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6

1、文件的三种状态

  Git内部文件只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交代表文件已被保存在本库中了;已修改代表修改了某个文件,但还没有被提交保存;已暂存代表把已修改的文件放在下次提交时要保存的清单中。因此文件本地流转的工作区域有:工作目录,暂存区域和git本地仓库。

二、Git基础操作 

1、Git初始化

   下载安装Git后,第一件事就是使用 git config 初始化Git,配置名字和邮箱:

$ git config --global user.name "q w"
$ git config --global user.email "[email protected]"

2、创建本地仓库

a.在工作目录中初始化新仓库

$ git init  
$ git add *
$ git commit -m "first commit" 

b.从现有仓库克隆

$ git clone gitURL localdir  //讲giturl仓库克隆到本地localdir目录下

3、Git本地文件操作

a.查看文件状态

$ git status  //查看文件有没有被跟踪,被跟踪的文件有没有被修改,被暂存的文件有没有被提交
$ git diff  //比较工作目录暂存区快照之间的差异

b.提交更新

$ git commit -m "commit note"  //提交暂存区的修改文件到本地git版本库
$ git commit -am "commit note"  //跳过使用暂存区,Git把跟踪的修改过的文件暂存起来一并提交,跳过git add步骤

c.移除文件(不重要,可替代)

$ git rm hello.c  //若直接本地操作不通过git删除,则在commit时会报错:尚未暂存以备提交的变更。需要用git rm来记录移除文件的操作
$ git rm --cached hello.c  //移除文件跟踪,但不实际在本地删除文件
$ git rm log/\*.log  //删除log目录下,所有log文件

d.移动文件(不重要,可替代)

$ git mv file1 file2    //这条命令等于1. mv file1 file2 2.git rm file1 3.git add file2

e.撤销操作

$ git reset HEAD file  //取消已经暂存的文件file
$ git checkout -- file  //取消对file文件的修改(危险)

f.远程仓库的使用

  一个项目可能会包含多个版本仓库,比如国内+国外、测试环境+生产环境。

$ git remote -v  //列出一个项目中包含的所有远程仓库
$ git remote add [shortname] [url]  //关联远程仓库,添加新的远程仓库shortname到项目中  
$ git fetch [remote-name]  //拉去远程仓库中,本地仓库还没有数据
$ git push origin master  //推送数据到远程仓库
$ git remote show origin  //查看远程仓库信息
$ git remote rename pb paul  //远程仓库重命名
$ git remote rm paul  //远程仓库删除

g.打标签

$ git tag    //列出已有标签
$ git tag -a v1.4 -m 'my version 1.4'    //新建标签
$ git push origin v1.5    //分享标签,push命令默认不会把标签传送到远端服务器,只有通过显示的命令才行
$ git push origin --tags    //一次推送所有标签

4、Git分支

a.新建合并分支

参考

$ git branch test    //新建分支test
$ git checkout test  //切换分支,其实是HEAD指向test分支(注:HEAD可以理解为指向当前所在分支的指针)
$ git checkout -b test  //相当于同时执行了上面两条分支
$ git merge test  //合并test分支,表示把这个分支合并到当前分支
$ git branch -d test  //删除test分支,合并之后就可以删掉了

b.遇到冲突时的分支合并

$ git merge test    //开始合并test分支到当前分支        
$ git status  //可以查看那些文件发生冲突
直接打开修改冲突文件
$ git add  //若所有冲突都解决了,则运行此命令,将文件标记为已解决状态

并和远程仓库关联

  初始化本地仓库:

git init

 git remote add origin git@github.com:michaelliao/learngit.git

猜你喜欢

转载自www.cnblogs.com/qwblog/p/9657932.html