1 常用命令
-
克隆远程仓库
git clone
-
比较文件的不同,即暂存区和工作区的差异
git diff
-
查看推送提交记录
git log
-
回滚到上一个/某个版本
# 回滚到上一个版本 git reset --hard # 回滚到某个版本 git reset --hard commit_id(commit的id)
-
添加文件到暂存区
git add .
-
查看仓库当前的状态,显示有变更的文件
git status
-
提交暂存区到本地仓库
git commit -m ""
-m
是git commit
中必需项HEAD部分的缩写 -
上传远程代码并合并
git push
-
从远程获取代码库
git fetch
-
下载远程代码并合并(存在pull成功但是本地代码并非最新的问题,[点击查看解决方法](# 2.1 git pull 拉取不是最新问题 “点击查看2.1 git pull 拉取不是最新问题”))
git pull
-
查看本地分支
git branch
-
查看所有分支(包括本地分支和远程分支)
git branch --all # 或 git branch -a
-
创建本地分支
git branch <分支名>
-
切换本地分支
git checkout <分支名>
-
删除本地分支
git branch --delete <分支名> # 或 git branch -d <分支名>
-
删除远程分支
git push origin --delete <远程分支名>
-
克隆指定远程分支到本地
git clone --branch <本地分支名> <远程仓库地址>
-
将本地 develop 分支修改为 dev 分支
git branch --move develop dev # 或 git branch -m develop dev
-
将本地 dev 分支推送到远程
git push origin dev
-
合并本地 bugfix 分支到 develop 分支
git merge bugfix
-
添加分支描述信息
git config branch.<分支名>.description "分支描述信息"
-
查看分支描述信息
git config branch.<分支名>.description
2 问题详解
2.1 git pull 拉取不是最新问题
在开发中使用Git的过程中,有时候会有一种需求,要从服务器拉取最新的状态,而本地进行了无关紧要的修改,这时候如果使用git pull
命令,会提示本地有未缓存的修改。或者在开发中,使用git pull
命令提示已经为最新,但是代码却不是最新的一次提交。这时候就需要强制覆盖本地的改变。
注意:本地未保存的代码将会丢失,任何未被推送的本地提交都将丢失。
-
先从远程获取最新代码
git fetch --all
-
从分支上回滚最新的提交(hard后面可省略)
git reset --hard # (origin/master)/(origin/branch_name)
此时本地为远程仓库最新的版本。