克隆项目
git clone git地址 //默认 克隆master
git clone -b 分支名 git地址 //直接克隆某分支
查看
查看当前状态: git status
查看进程: git --all
查看远程分支: git branch -r
查看当前分支: git branch
查看所有分支: git branch -a
创建、切换、删除分支
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除本地分支:git branch -d <name>
删除远程分支:git push origin --delete <name>
下拉代码
git pull //更新本地代码(把远程仓库的代码拉到本地)
提交代码 (首次提交参考:https://blog.csdn.net/weixin_40030173/article/details/95958739)
1.添加文件到暂存区(这里添加项目的所有文件)
git add .
2.将暂存区里的改动 提交到本地的版本库:
git commit -m "备注"
3.把本地库的修改提交到远程库中:
git push
查看、配置新远程git仓库地址
查看当前url配置: git remote -v
设置新地址 origin:git remote set-url origin 新URL
git commit后但没push的撤销方法
git reset HEAD^ # //代码保留,回到 git add 之前
远程分支回滚的三种方法:
- 自己的分支回滚直接用reset
- 公共分支回滚用revert
- 错的太远了直接将代码全部删掉,用正确代码替代
1.1、本地分支版本回退的方法:
git reflog //(1)找到要回退的版本的commit id:(如下面找到的Obfafd)
git reset --hard Obfafd //(2)接着回退版本
1.2、远程分支版本回退
如果你的错误提交已经推送到自己的远程分支了,那么就需要回滚远程分支了。
git reflog //(1)找到要回退的版本的commit id:(如下面找到的Obfafd)
git reset --hard Obfafd //(2)接着回退版本
git push -f //(3)强制推送到远程分支
2.1、公共远程分支版本回退的问题
git revert HEAD //撤销最近一次提交
git revert HEAD~1 //撤销上上次的提交,注意:数字从0开始
git revert 0ffaacc //撤销0ffaacc这次提交
- revert 是撤销一次提交,所以后面的commit id是你需要回滚到的版本的前一次提交
- 使用revert HEAD是撤销最近的一次提交,如果你最近一次提交是用revert命令产生的,那么你再执行一次,就相当于撤销了上次的撤销操作,换句话说,你连续执行两次revert HEAD命令,就跟没执行是一样的
- 使用revert HEAD~1 表示撤销最近2次提交,这个数字是从0开始的,如果你之前撤销过产生了commi id,那么也会计算在内的。
- 如果使用 revert 撤销的不是最近一次提交,那么一定会有代码冲突,需要你合并代码,合并代码只需要把当前的代码全部去掉,保留之前版本的代码就可以了.
补充:
git add -A和 git add . 和 git add -u 区别如下:
git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
git add -A :是上面两个功能的合集(git add --all的缩写)