基础命令
git init 初始化本地仓库
git add -A . 来一次添加所有改变的文件
git add -A 表示添加所有内容
git add . 表示添加新文件和编辑过的文件不包括删除的文件
git add -u 表示添加编辑或者删除的文件,不包括新添加的文件
git commit -m '版本信息' 提交的版本信息描述
git status 查看状态
git push -u origin master 推送到远程仓库看
git pull 拉取远程仓库代码到本地
git branch -av 查看每个分支的最新提交记录
git branch -vv 查看每个分支属于哪个远程仓库
git reset --hard HEAD@{}代码回归到某个提交记录
分支操作
查看本地都有哪些分支 git branch -a
新建分支 git branch dev
查看当前分支 git branch
切换分支 git checkout dev
删除本地分支 git branch -d dev
同步删除远程分支 git push origin :dev
远程分支获取最新的版本到本地
执行git pull命令
如果以上命令还是失败尝试以下步骤:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
git fetch origin master
比较本地的master分支和origin/master分支的差别
git log -p master..origin/master
进行合并
git merge origin/master
常见问题
如何解决 failed to push some refs to git
git pull --rebase origin master
进行代码合并
git push -u origin master
即可完成代码上传
问题2:
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/ master
指定当前当前工作目录工作分支,跟远程仓库分支之间的联系
branch --set-upstream master origin/master
问题3:
git pull 获取最新代码报以下错误
fatal: refusing to merge unrelated histories
git pull之后加上可选参数 --allow-unrelated-histories 强制合并
git pull origin master --allow-unrelated-histories
问题4:
.gitignore规则不生效的解决办法
把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:
git rm -r --cached . 或者 git rm -r README.md
git add .
git commit -m 'update .gitignore'