查看是否关联到github:ssh -T git@github.com
一,基础命令
git init
:把这个目录变成Git可以管理的仓库
git add
:把文件添加至暂存区
git commit
:把文件提交到仓库,简单解释一下git commit
命令,-m
后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
{
第一步是用git add
把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。
}
git status
命令可以让我们时刻掌握仓库当前的状态
git diff
顾名思义就是查看difference,查看修改的内容
二,基础仓库管理
git log
命令显示从最近到最远的提交日志,需要友情提示的是,你看到的一大串类似1094adb...
的是commit id
(版本号)
git reset
命令:
$ git reset --hard HEAD^
HEAD is now at e475afc add distributed
上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。
命令git checkout -- readme.txt
意思就是,把readme.txt
文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt
自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
命令git reset HEAD <file>
可以把暂存区的修改撤销掉(unstage),重新放回工作区
删除文件:用命令git rm
删掉,并git commit
使用命令git push origin master
推送最新修改
命令git clone
克隆一个本地库
例:
$ git clone git@github.com:michaelliao/gitskills.git
Cloning into 'gitskills'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3
Receiving objects: 100% (3/3), done.
三,分支管理
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
可查看分支情况的命令:
git status
查看分支图:
git log --graph
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。