Git常用命令及日常问题

基础命令

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'

你可能感兴趣的:(Git常用命令及日常问题)