前几天学习了廖雪峰的git教程,很受用
在这里整理一下经常使用的命令,方便查找
1.下载安装git
2.设置git的user name和email:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
查看git 配置
$git config --lis
3.生存密钥:
$ ssh-keygen -t rsa -C "gudujianjsk@gmail.com"
按3个回车,密码为空这里一般不使用密钥。
最后得到了两个文件:id_rsa和id_rsa.pub
4.在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。
打开 http://github.com,登陆自己的github账号,然后添加ssh
(2,3,4步骤是为了编写完本地代码后上传到github上的前提)
基本流程:(对应的项目右键,进入Gitbash)
git .init //创建git管理仓库 git add * //把文件添加到仓库 git remote add origin dev@faa //把文件添加到远程仓库的时候用到,如果是我从远程仓库上面克隆下来的话就不用了 git commit -a -m “??” //把文件提交到仓库 git push origin master //当前默认是上传到主分支
git status //查看结果git diff //
看看以前改的记录$ git log //
查看历史记录$ git log --pretty=oneline //简化查询历史记录
$ git reset --hard HEAD^ // 回退到上一个版本“add$ cat readme.txt //查看readme.txt的内容
$ git reset --hard 3628164 //指定回到未来的某个版本
$ git reflog //记录你的每一次命令$ git checkout -- readme.txt //丢弃工作区的修改,总之,就是让这个文件回到最近一次
git commit
或git add
时的状态$ git clone git@github.com:michaelliao/gitskills.git //克隆仓库到本地
分支流程:$ git checkout -b dev
//创建dev
分支,然后切换到dev
分支 相当于以下两条命令:
$ git branch dev
$ git checkout dev
$ git branch //
命令查看当前分支 $ git checkout master //切换回master
分支
$ git merge dev //dev
分支的工作成果合并到master
分支上
$ git branch -d dev //删除dev
分支
遇到的情况1:
添加了一个新文件test.txt到Git并且提交:
一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用
rm
命令删了:
$ rm test.txt
这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status
查看:
$ git status
现在有两个选择,
①确实要从版本库中删除该文件,那就用命令
git rm
删掉,并且git commit
:$ git rm test.txt
$ git commit -m "remove test.txt"
现在,文件就从版本库中被删除了。
②是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout -- test.txt
git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。遇到的情况2:
在电脑A建了master分支项目,电脑B克隆下来,又新建分支dev2,并push到远程目录下;
回到电脑A,怎么才能有dev2分支,使得A中的master和A中的dev2可以来回切换?
方法一:
重新本地克隆远程目录
会发现默认只是主分支master,这时执行
git branch -r
git checked dev 2
git branch
就可以找到了
方法二:
git fetch //与远程目录同步一下,再执行一系列操作