1.因为Git是分布式版本控制系统,所以,每个机器都必须自报家门
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
2.提交
git add.
git commit -m '注释'
3.版本回退
git log
git reset --hard 1094a
//git reset --hard HEAD^
4.重返未来
git reflog
git reset --hard 3bds
5.撤销工作区修改
git checkout -- file
6.撤销暂存区修改
git reset HEAD flie
git checkout -- file
7.删除git仓库的文件
git rm file
git commit -m '注释'
8.删除文件恢复(git rm删除的不能恢复)
git checkout --file
9.ssh(连接远程仓库的key)
检查.ssh文件下有没有:id_rsa(私钥)
和id_rsa.pub(公钥)
创建
ssh-keygen -t rsa -C "youremail@example.com"
10.连接远程服务器,并推送master分支
(加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。)
git remote add origin git@github.com:xxxx.git
git push -u origin master
11.克隆远程服务器
git clone git@github.com:xxx.git
12.参建与合并分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>或者git switch <name>
创建+切换分支:git checkout -b <name>或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
13.删除分支后想保留分支历史信息
//强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
git merge --no-ff -m "merge with no-ff" dev
14.bug分支
//切换分支前保存现场工作照
git stash
//查看所有工作照
git stash list
//恢复工作照
git stash apply stash@{0}
//恢复并删除存储的工作照
git stash drop
15.复制commit提交
git cherry-pick <commit>
16.删除分支
//删除还未合并的
git branch -D <name>
//删除已经合并的
git branch -d <name>
17.查看远程库信息
git remote -v
18.推送分支
git push origin dev
19.拉取远程仓库其他分支
// 默认git clone 只能拉取master分支
// 如果要推送新分支 或者拉取远程新分支(第一次)
// 创建远程分支对应的本地分支
git checkout -b dev origin/dev
//git switch -c dev origin/dev
//指定本地dev分支与远程origin/dev分支的链接
git branch --set-upstream dev origin/dev
//其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。
git branch --set-upstream-to=origin/remote_branch your_branch