1.git常用命令
命令 | 功能说明 |
---|---|
mkdir learngit cd learngit git init | 创建版本库 |
git add filename git commit -m “notes” | 把文件添加到版本库 |
git add -f App.class | 强制添加文件 |
git status | 查看仓库当前状态 |
git diff filename | 查看difference |
git diff HEAD – filename | 可以查看工作区和版本库里面最新版本的区别 |
git log git log --pretty=oneline git log --graph --pretty=oneline --abbrev-commit | 显示从最近到最远的提交日志 |
git reset --hard HEAD^ | 回滚到上一个版本 |
git reset --hard 1094a | 回到指定版本 |
git reflog | 查看提交历史 |
git checkout – filename | 撤销修改: 分两种情况,一是撤销修改到版本库的状态, 二是撤销修改到暂存区的状态 |
git reset HEAD | 把暂存区的修改回退到工作区 |
git rm | 提交删除文件到暂存区 |
git remote add origin git@github.com:michaelliao/learngit.git | 添加远程仓库 origin表示远程仓库名 git@github.com:michaelliao/learngit.git表示远程仓库地址 |
git push -u origin master | 可以把本地分支master提交到远程仓库,并把本地master分支和远程master分支关联,下次可以使用git push origin master即可 |
git clone git@github.com:michaelliao/gitskills.git | 克隆远程仓库 |
git checkout -b dev | 创建并切换到dev分支 |
git checkout master | 切换到master分支 |
git branch | 查看当前分支 |
git branch branch_name | 创建分支 |
git checkout master git merge dev | 将dev分支合并到master分支 说明:当dev分支与master分支存在冲突时,需要手动解决 |
git branch -d dev git branch -D feature-vulcan | 删除dev分支 强制删除dev分支 |
git stash | 暂存工作现场 |
git stash list | 查看暂存的工作现场 |
git stash pop | 恢复暂存的工作现场 |
git stash apply git stash drop | 恢复暂存的工作现场 |
git remote git remote -v | 查看远程仓库信息 |
git push origin master | 将本地master分支往远程master分支推送 |
git checkout -b branch-name origin/branch-name | 创建本地分支并与远程分支关联 |
git rebase | 让提交历史更好看些 |
git tag v1.0 git tag v0.9 f52c633 | 打 tag 指定commit 打tag |
git tag | 查看全部tag |
git tag -d v1.0 | 删除tag v1.0 |
git push origin tagname git push origin --tags | 推送tag 推送全部tags |
git push origin :refs/tags/ | 可以删除一个远程标签 |
2.合并分支时解决冲突的步骤
1、克隆远程仓库
git clone 远程仓库
2、在本地创建dev分支并关联远程dev分支
git checkout -b dev origin/dev
3、在本地创建st分支并关联远程st分支
git checkout -b st origin/st
4、切换到st分支
git branch st
5、合并dev分支到st分支
git merge dev
6、手动解决冲突
7、提交修改的文件
git add
git commit -m “”
3.推送分支时遇到冲突
1、首先,可以试图用git push origin 推送自己的修改;
2、如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3、如果合并有冲突,则解决冲突,并在本地提交;
4、没有冲突或者解决掉冲突后,再用git push origin branch_name推送就能成功!
5、如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to branch_name origin/branch_name。
4.修改.gitignore文件设置忽略文件
例子 | 描述 |
---|---|
# Windows:Thumbs.db | |
ehthumbs.dbDesktop.ini | |
# Python: | |
*.py[cod] | |
*.so | |
*.egg | |
*.egg-info | |
dist | |
build | |
# My configurations: | |
db.ini | |
deploy_key_rsa |
5.git教程推荐网址
https://git-scm.com/book/zh/v2
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000