首页 > 代码库 > Git命令笔记
Git命令笔记
1、git init 创建版本库
2、git add 添加到暂存区
3、git commit -m "..." 提交到本地仓库
4、git status 查看工作区状态
5、git diff 查看工作区和版本库的差别
6、git log --pretty=oneline 可以查看提交历史,--pretty=oneline表示格式化输出,便于查看
7、git reset --hard HEAD^ 回退到上一个版本,HEAD表示当前版本,^表示上一个版本,HEAD^可以替换成commit_id。只要知道commit_id,
就可以在任意版本之间穿梭
8、git reflog 可以查看命令历史
9、git diff HEAD -- file 查看工作区和版本库里面最新版本的区别,这里是指定了文件,上面没有指定文件
10、git checkout -- file 丢弃工作区的修改
11、git reset HEAD file 可以把暂存区的修改撤销掉,重新放回工作区
12、git rm file 从版本库删除文件,并且要git commit,如果是在工作区中误删,可以用git checkout -- file进行还原
13、ssh-keygen -t rsa -C "youremail@example.com" 创建SSH key,成功后可以在用户主目录找到.ssh目录,里面有id_rsa和id_rsa.pub
两个文件,id_rsa是私钥,id_rsa.pub是公钥,然后要把公钥配置在git远程仓库上。
14、git remote add origin git@server-name:path/repo-name.git 将本地仓库与远程仓库关联
15、git push -u origin master 将本地仓库的内容推送到远程,加上-u参数,会将本地的master分支和远程的master分支关联起来,
这里加-u参数是为了在以后的推送或者拉取时就可以简化命令
16、git clone git@server-name:path/repo-name.git 从远程库克隆
17、git checkout -b dev 创建dev分支,并切换到dev分支,相当于git branch dev,然后git checkout dev
18、git branch dev 创建dev分支
19、git checkout dev 切换到dev分支
20、git branch 查看当前分支
21、git merge dev 合并dev分支到当前分支
22、git merge --no-ff -m "merge with no-ff" dev 使用--no-ff的方式合并,Git就会在merge时生成一个新的commit,
这样,从分支历史上就可以看出分支信息
23、git branch -d dev 删除dev分支
24、git log --graph --pretty=oneline -abbrev-commit 可以查看分支合并图
25、git stash 暂存现场
26、git stash list 查看暂存现场的列表
27、git stash pop 恢复现场,同时把stash的内容删除。PS:git stash apply恢复现场,但stash内容不删除,
使用git stash drop可以删除stash内容
28、git stash apply stash@{0} 恢复指定的stash
29、git branch -D dev 强行删除dev分支(如果要丢弃一个没有合并的分支,用该命令)
30、git remote 查看远程库信息
git remote -v 查看远程库详细信息
31、git push origin master 推送到远程仓库的master分支
git push origin dev 推送到远程仓库的dev分支
32、git pull 把最新的提交从远程仓库抓下来
33、git branch --set-upstream branch-name origin/branch-name 创建本地分支和远程分支的链接
34、git checkout -b dev origin/dev 创建本地分支,并与远程的dev分支建立链接
35、git tag v1.0 创建v1.0标签
36、git tag 查看所有标签
37、git tag v0.9 commit_id 给指定的commit_id打标签
38、git show v0.9 查看v0.9的标签信息
39、git tag -a v0.1 -m "version 0.1 released" commit_id 创建标签名为v0.1,备注说明为version 0.1 released的标签
40、git tag -d v0.1 删除v0.1的标签
41、git push origin v1.0 推送v1.0标签到远程
42、git push origin --tags 一次性推送全部尚未推送到远程的本地标签
43、git push origin :refs/tags/v0.9 从远程删除v0.9的标签,本地标签的删除前面提到过
Git命令笔记