很详细的介绍了git的历史及使用
1、下载后无脑安装,最后打开命令终端bash,输入最后设置
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
2、使用
先建好仓库的文件夹,再cd进去,pwd看下目录
$ pwd
/Users/michael/learngit
没啥问题,就建立仓库
$ git init
3、添加提交,新建文件readme.txt 提交的 -m
后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
git add readme.txt
$ git commit -m "wrote a readme file"
4、git status
命令可以让我们时刻掌握仓库当前的状态,
git diff
顾名思义就是查看difference,显示的格式正是Unix通用的diff格式
5、git log
命令显示从最近到最远的提交日志,如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline
参数
$ git log --pretty=oneline
6、回退到上一个版本,使用git reset
命令 ,上一个版本就是HEAD^
$ git reset --hard HEAD^
7、用git diff HEAD -- readme.txt
命令可以查看工作区和版本库里面最新版本的区别
8、git checkout -- file
可以丢弃工作区的修改:
$ git checkout -- readme.txt
9、用命令git reset HEAD <file>
可以把暂存区的修改撤销掉(unstage),重新放回工作区
$ git reset HEAD readme.txt
10、文件管理器中把没用的文件删了,或者用rm
命令删了。
1,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status
命令会立刻告诉你哪些文件被删除了。
2,另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本。
$ rm test.txt
$ git rm test.txt
$ git checkout -- test.txt
11、为了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。
12、我们根据GitHub的提示,在本地的仓库下运行命令:
$ git remote add origin git@github.com:{账户名}/learngit.git
13、把本地库的所有内容推送到远程库上:
把本地库的内容推送到远程,用git push
命令,实际上是把当前分支master
推送到远程。
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
$ git push -u origin master
$ git push origin master
14、创建远程库,然后,从远程库克隆。首先,登陆GitHub,创建一个新的仓库,
$ git clone git@github.com:{账户名}/{库名}.git
15、GitHub给出的地址不止一个,还可以用https://github.com/michaelliao/gitskills.git
这样的地址。实际上,Git支持多种协议,默认的git://
使用ssh,但也可以使用https
等其他协议。
使用https
除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh
协议而只能用https
。
16、我们创建dev
分支,然后切换到dev
分支
dev
分支的工作完成,我们就可以切换回master
分支
我们把dev
分支的工作成果合并到master
分支上
合并完成后,就可以放心地删除dev
分支了
$ git branch dev
$ git checkout dev
$ git branch
$ git checkout master
$ git merge dev
$ git branch -d dev
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
17、Git用<<<<<<<
,=======
,>>>>>>>
标记出不同分支的内容
18、敲命令git tag <name>
就可以打一个新标签
标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>
查看标签信息
标签打错了,也可以删除
要推送某个标签到远程
$ git tag v1.0
$ git tag v0.9 f52c633(commitId)
$ git show v0.9
$ git tag -d v0.1
$ git push origin v1.0
$ git push origin --tags
19在本地库上使用命令git remote add
把它和码云的远程库关联
git remote add origin git@gitee.com:{库名}/{库名}.git
如果在使用命令git remote add时报错:
git remote add origin git@gitee.com:liaoxuefeng/learngit.git
fatal: remote origin already exists.
这说明本地库已经关联了一个名叫origin的远程库,此时,可以先用git remote -v查看远程库信息:
git remote -v
origin git@github.com:michaelliao/learngit.git (fetch)
origin git@github.com:michaelliao/learngit.git (push)
可以看到,本地库已经关联了origin的远程库,并且,该远程库指向GitHub。
我们可以删除已有的GitHub远程库:
git remote rm origin
20、通过git push
命令就可以把本地库推送到Gitee上
21、因为git本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。
使用多个远程库时,我们要注意,git给远程库起的默认名称是origin
,如果有多个远程库,我们需要用不同的名称来标识不同的远程
先关联GitHub的远程库:
git remote add github git@github.com:{远程库名}/{库名}.git
再关联码云
git remote add gitee git@gitee.com:{远程库名}/{库名}.git
如果要推送到GitHub,使用命令:
git push github master
如果要推送到码云,使用命令:
git push gitee master
原文地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
常用命令地址:https://blog.csdn.net/nimoyaoww/article/details/78985041