git命令
git branch -a 查看所有分支
git branch 查看本地分支
git branch 分支名称 新建本地分支(test)
git checkout -b 本地分支名 origin/远程分支名 将远程git仓库里的指定分支拉取到本地(本地不存在的分支)
git remote set-head origin dev (切换分支后有时候会出现指针并没有指向当前分支,可以用此命令设置指针指向)
git push origin 本地分支名:master 提交本地test分支作为远程的master分支
git branch -d 本地分支名 删除本地分支
git push origin :远程分支名称 删除远程分支
git merge --abort 撤销合并
git reset --soft <commit_id>: 将分支回退到指定提交,工作区维持现状不变,暂存区会在现有基础上增加该commit之后的提交。不会重置当前工作区和暂存区,只会将回退版本后续的提交加到暂存区。
-git reset --mixed <commit_id> (默认操作)将分支回退到指定提交,暂存区也被同步为该指定提交,工作区保持不变。会改变暂存区,使它和回退版本同步。
-git reset --hard <commit_id> 将分支回退到指定分支,暂存区和工作区都会被同步为该指定的提交。会重置工作区和暂存区,使它和回退版本一致。
git push -f origin 分支名称 强制push,本地代码覆盖远程代码(特殊情况使用)
git clone <版本库的网址> clone远程代码
git log 查看提交日志
git checkout 分支名称 切换分支(切换分支时直接加分支名字不要加前缀)
git checkout -- 文件名/文件夹 只更新某一个文件或文件夹(将远程文件拉去到本地工作区)
git add . 提交当前目录下的所有文件
git add -all 提交所有
git add a b c 一次提交多个指定的文件
git commit -m "提交的信息" 提交add的文件并添加提交信息
git pull 拉代码
git push 将提交的代码推送到远程仓库
git commit -am "提交的信息" 将文件添加到暂存态并提交即add和commit
git stash 将文件添加到栈中,可以忽略不想提交的文件,前提要先add(不用commit)
git stash list 查看栈中的所有文件
git stash clear 清除栈中的所有文件
git stash pop 恢复栈中的内容
git stash apply stash@{1} 恢复栈中的指定内容
git取消跟踪文件或目录:
------------
git rm -r -n --cached 文件/目录 不删除文件,只列出会被删除的列表
git rm --cached 文件名 删除文件的跟踪,并保留在本地
git rm --f 文件名 删除文件的跟踪,并删除本地文件
git commit -m '描述信息' 提交即可
------------
删除远程端文件或文件夹:
git rm -r --cached a/2.txt 删除a文件下的2.txt文件,然后commit再push就行(此命令只删除远程端不删除本地,本地可以手动删除或者pull依一下代码)
----------------
合并分支
git merge 分支名称 在master主支下合并指定的分支到master
------------------
解决切换分支或者checkout时出现无法切换,请移动或移除文件的问题:
git clean -d -fx 文件 x:标识删除忽略文件,d:删除未被添加到git路径中的文件,f:强制执行
-----------------
远程分支强制覆盖本地分支
git fetch --all (下载远程库的内容,不做合并)
git reset --hard origin/master (把heard指向指定的分支)
git pull (拉取代码)
git reset --hard origin/master (把heard指向指定的分支)
git pull (拉取代码)