一、git的基本操作
1、下载git下载地址
2、配置git ssh
(1) git config --global user.name "username"
username是github的用户名
(2) git config --global user.email "usermail"
usermail是注册的邮箱账号
(3) ssh-keygen -t rsa -C 'usermail'
创建ssh
(4) 打开.ssh/id_rsa.pub文件,将添加到github上
3、git新建仓库,可以直接在github上新建仓库
4、克隆远程仓库到本地
git clone url
例如:git clone https://github.com/yangpan4485/git_hahah.git
5、查看当前修改文件的状态
git status //建议多执行这个命令,可以知道自己修改了哪些内容
6、将文件添加到本地暂存区
git add filename/dirname
7、git add撤销
撤销单个文件
git reset HEAD filename/dirname
撤销全部添加的文件
git reset --mixed
或者
git reset HEAD .
8、将暂存区里面的内容提交到本地
git commit -m "message"
9、撤销git commit
git reset --soft HEAD^
撤销多次commit
git reset --soft HEAD^N
10、使用上次的commit,不产生新的commit(建议不要这么做)
git commit --amend
11、将本地仓库的内容推送到远程仓库
git push
将本地仓库的内容强制推送到远程仓库,使用场景有git commit --amend只能使用git push -f,或者本地仓库的commit落后于远 程仓库的commit,一般用于版本回退
git push -f
12、将文件恢复到最开始的样子(不保留改动)
将单个文件恢复最开始的样子
git checkout - filename
将当前目录以及当前目录的子目录文件恢复成最开始的样子
git checkout -- .
13、切换分支
git checkout branch-name
14、快速切换分支到上次使用的分支
git checkout -
15、创建分支
git branch branch-name
16、创建分支并切换分支
git checkout -b branch-name
17、查看提交的历史
git log
git log --oneline // 查看提交历史只显示一行
git log --follow filename // 查看重命令过后的文件的提交历史
二、git扩展命令
1、重命名文件,重命名之后如果要看文件的commit,需要使用git log --follow filename
git mv src dest
2、合并分支
git merge branch-name
3、git merge撤销
merge 已完成撤销
git reset --hard commit-id //commit-id为merge前的commit-id
merge有冲突未完成,撤销
git merge --abort
4、回退版本
git reset --hard commit-id
一般经常使用的是
git reset --hard HEAD // 将文件恢复到最开始的地方
5、清除文件
git clean -f 删除当前目录下没有被track过的文件,但是不会删除.gitignore里面的文件
git clean -n 告诉你git clean -f 要删除的文件
git clean -f path 删除指定目录下面没有被track过的文件
git clean -xf 删除当前目录下面没有被track过的文件,不管是不是.gitignore里面的文件
git clean -df 删除当前目录下面没有被track过的文件和文件夹
6、将当前仓库恢复到最初始的状态
1、git reset --hard HEAD
2、git clean -xdf
7、同步远程分支的代码
git pull 远程仓库名 远程分支:本地分支
git pull 远程仓库名 远程分支 // 如果本地分支是当前分支可以不加本地分支名
git pull // 如果想要同步的分支当前仓库的当前分支,可以直接使用git pull
git pull = git fetch + git merge
8、拉取远程分支的代码
git fetch 远程仓库名 分支名
9、使用rebase的方式同步远程分支代码
git pull --rebase
10、配置默认的git pull 为 git pull --rebase
git config --bool pull.rebase true
11、从历史中删除一个文件,不然回退版本就可以看见文件
git filter-branch --tree-filter 'rm -f passwords.txt' HEAD
12、查看本地分支
git branch
查看本地和远程分支
git branch -a
13、删除本地分支
git branch -d branch-name
删除远程分支
方法一、直接在远程服务器里面删除
方法二、git push origin --delete branch-name
14、查看文件的行记录
git blame filename
15、将本地修改保存起来和恢复本地保存的修改
git stash
git stash pop
16、二分法查找问题bisect参考文章
git bisect
17、显示本地所以仓库的commit
git reflog
18、将某些commit合入到现在的分支
git cherry-pick commit-id
git参考文档:https://git-scm.com/book/zh/v2
https://www.bookstack.cn/read/git-doc-zh/docs-37.md
写在最后:有写错的大家可以指正出来,或者其他git常用到的命令也欢迎大家一起交流