Git 常用命令
git init 把当前目录变成Git可以管理的仓库,就是可以进行版本控制了;
git add <file> 添加文件到Git仓库,此时还没有提交,可以add多次;git commit -m "提交内容的描述" 将所有add的内容提交;
git status 查看仓库当前的状态,通常可以看是否修改,告诉文件被修改过;
git diff 查看不同的地方,也就是修改了那些地方,会详细的说明,告诉具体的修改的内容;
git log 可以查看从最近到最远提交的日志,因为显示的内容比较详细,可以使用 --pretty=oneline每次操作显示一行;
git reset --hard HEAD^ 回退到上一个版本,^的个数表示回退的前几个版本,也可以使用git reset --hard <commit id>;
git reflog 用来查看每次操作的记录,前面一列表示的commit id;
暂存区 add 操作都是将文件保存到暂存区;
工作区 commit 操作之后文件还会从暂存区保存到当前所在的分支;
执行commit操作的时候,如果修改的文件没有add,那么执行后,修改的内容是没有提交的;
git checkout --<file> 在没有执行add操作,使用该命令,会将修改的内容回退到修改之前的版本;
git reset HEAD <file> 执行了add操作后,但是还没有执行commit操作,使用该命令回退到工作区;
git rm <file> 删除文件;
ssh-keygen -t rsa -C "youremail@example.com" 创建SSH Key 命令;
git remote add origin(远程库的名字) git@github.com:michaelliao/learngit.git 本地库与远程库进行关联操作;
git push -u <远程库的名字> master 将本地分支的所有内容推送到远程库中;
git clone git@github.com:<github的账号>/<项目名称>.git 将远程库的项目克隆到当前所在的目录;
分支非常重要,开发过程中我们提交的代码都在我们建立的分支中,而不是直接提交到master中,通常master是我们发布的稳定版本;
尤其在多人协作的情况下,每个人都应建立自己的分支,修改bug时也要建立bug分支;
git branch <name> 创建name分支;
git checkout <name> 切换到name分支;
git checkout -b <name> 创建并切换分支,为前面来两个命令的合并;
git merge <name> 合并name分支到当前分支;
git branch -d <name> 删除分支;
git merge --no-ff <name> 合并的方式,可以查看合并的历史;
git log --graph 可以查看合并的分支历史;
git stash 保存当前的工作记录,因为有其他事情要做,需要停下手头工作,因此需要保存当前工作;
git stash list 查看保存的现场;
git stash pop 恢复现场并删掉之前保存现场的内容;
git remote -v 查看远程库的详细信息;
git push origin dev 将本地dev分支的内容推送到远程master;
git clone git@github.com:<github账号>/<github项目>.git 远程库中的项目克隆到本地;
git pull 从远程抓取分支;