基础命令
git add 文件名/.(全部文件)
git commit -m "注释"
git push origin master(分支名)
git push -f origin master #强制覆盖远程仓库
git branch #查看本地分支
git branch -r #查看远程分支
git branch -M main#当前分支重命名为main
git checkout (branchname) #切换到branchname分支
#git remote用于在远程仓库的操作
#本句意为将本地仓库与远程库https://github.com/****/****.git关联,并给该远程库起名为origin
git remote add origin https://github.com/****/****.git
git push -u origin master #将本地的master分支推送到origin远程仓库,同时将git push与origin master之间建立流通道(即指定origin为默认主机),后面就可以不加任何参数使用git push.
git pull <远程主机名> <远程分支名>:<本地分支名>
撤销commit
-
撤销上次commit:
git reset --soft HEAD^
-
连着add也撤销
git reset --hard HEAD^
命令详解:
-
HEAD^ 表示上一个版本,即上一次的commit,也可以写成HEAD~1
-
如果进行两次的commit,想要都撤回,可以使用HEAD~2
-
–soft
不删除工作空间的改动代码 ,撤销commit,不撤销git add file -
–hard
删除工作空间的改动代码,撤销commit且撤销add
-
回退到指定版本
git reset --hard commit_id
撤销add
-
git reset HEAD
add全部撤销
-
git reset HEAD file_name
更改commit注释
-
git commit --amend
这时候会进入vim编辑器,修改完成你要的注释后保存即可。可以沿用上次的commit log。
git diff
- git diff 比较的是工作区和暂存区的差别
- git diff --cached 比较的是暂存区和版本库的差别
- git diff HEAD 可以查看工作区和版本库的差别
- git diff [commit_id] 查看当前本地代码某commit的差别
cherry-pick
-
git cherry-pick [commit-id]
将该commit的代码变动应用于当前分支。
分支相关
-
切换分支
-
git checkout [branch_name]
-
git checkout [commit_id]
-
-
查看分支
- git branch -vv
-
把本地仓库分支与远程仓库分支设置关联
- git branch --set-upstream-to=origin/mybranch1 mybranch1
rebase
-
git rebase -i
用于将多个commit合并为一个。
stash
-
git stash
备份当前工作区的内容,保存到git 栈中,从最近的一次commit中读取相关内容
-
git stash pop
从git栈中获取到最近一次stash进去的内容,恢复工作区的内容