1. 常用命令
git init
:初始化,将当前目录变成git可以管理的目录git add <file>
:添加文件git commit -m <message>
:-m
后面的是本次提交的说明git status
:查看当前工作区的状态git diff <file>
:查看此文件修改内容git log
:查看提交历史git reflog
:查看命令历史git reset
:版本回退HEAD
:当前版本git reset --hard HEAD~n
:回到之前的第n
个版本git reset --hard commmit_id
:回到指定提交id
的版本
git checkout --<file>
:让这个文件回到最近一次git add
或git commit
时的状态git rm <file>
:在版本库中删除一个文件git clone
:克隆一个仓库
2. 分支相关
git branch
:查看分支git branch <name>
:创建分支git checkout <name>
:切换分支git checkout -b <name>
:创建并切换分支git merge <name>
:合并某分支到当前分支git merge --no-ff -m <message> <name>
:git branch -d <name>
:删除分支git log --graph
:查看分支合并图
3. 远程相关
git remote add origin git@server-name:path/repo-name.git
:关联一个远程库- 关联远程库时必须给远程库指定一个名字,
origin
默认习惯命名
- 关联远程库时必须给远程库指定一个名字,
git remote rm <name>
:删除远程库git remote -v
:查看远程库信息git push origin <name>
:向远程库推送最新修改- 第一次推送时:
git push -u origin <name>
:加上参数-u
,不仅会将本地的name
分支内容推送到远程新的name
分支,还会把本地的name
分支与远程的name
分支关联起来,在以后推送或拉取时可以简化命令
- 第一次推送时:
git branch --set-upstream branch-name origin/branch-name
:将本地分支与远程分支建立关联git pull origin <name>
:从远程抓取分支
4. 免密推送
ssh-keygen -t rsa -C "youremail@example.com
:创建SSH Key
- 在用户主目录中的
.ssh
有id_rsa
和id_rsa.pub
两个文件 - 登录Github,打开"Account settings"中的"SSH Keys",点"Add SSH Key",会出现"Title"和"Key"
- 将
id_rsa.pub
中的内容复制到"Key","Title"随便写
- 在用户主目录中的
- 注意Github的仓库地址
git://
:使用ssh协议https://
:使用https协议
由于我们配置的是ssh
协议,所以在克隆远程库或关联远程库时,远程库的仓库地址应采用git://
开头的