学习网站:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:zhouxinfei/gitskills.git
git push -u origin master
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
创建一个目录
$ mkdir learngit
进入到该文件夹
$ cd learngit
查看当前路径
$ pwd
/Users/michael/learngit
通过git init命令把这个目录变成Git可以管理的仓库
如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah
命令就可以看见
用命令git add
告诉Git,把文件添加到仓库:git add readme.txt
用命令git commit
告诉Git,把文件提交到仓库:git commit -m "wrote a readme file"
-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
git status命令看看结果
git diff readme.txt 查看对文件的修改
cat readme.txt 显示文本的内容
git log命令显示从最近到最远的提交日志 ,如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数
上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
回退到上一个版本:git reset --hard HEAD^
git reset --hard 3628164(这是版本号) ,
版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了
git reflog用来记录你的每一次命令
提交后,用git diff HEAD -- readme.txt
命令可以查看工作区和版本库里面最新版本的区别
命令git checkout -- readme.txt
意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令
命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区
git reset HEAD readme.txt
git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本
通常直接在文件管理器中把没用的文件删了,或者用rm命令删了
rm test.txt
git status
现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit
git rm test.txt
git commit -m "remove test.txt"
另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
git checkout -- test.txt
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git
;
关联后,使用命令git push -u origin master
第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master
推送最新修改;
命令git clone克隆一个本地库
git clone git@github.com:michaelliao/gitskills.git
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
查看分支的合并情况 git log --graph --pretty=oneline --abbrev-commit
删除feature1分支:git branch -d feature1