GIT常用命令

git init 创建版本库
git add a.txt 新增/修改文件
git commit -m "提交说明" 文件提交
git status 仓库当前状态
git diff a.txt 查看修改内容
git log 查看版本历史记录(最近-->最远)
git log --pretty=oneline 历史记录一个版本显示为一行
git reset --hard HEAD^ 回退上一版本(上上版本HEAD^^ 多个版本 HEAD~100
git reset --hard 53c327e 根据commit id 回退指定版本
git reflog git操作日志(上一步id不知可从此处获取)
git diff HEAD -- a.txt查看工作区和版本库里面最新版本的区别
git checkout -- a.txt 让这个文件回到最近一次git commit或git add时的状态
git reset HEAD <file> 暂存区的修改撤销掉重新放回工作区
git rm a.txt 删除文件
git remote rm origin 移除本地连接的远程仓库
git remote add origin git@server-name:path/repo-name.git 关联远程仓库
git push -u origin master 第一次推送master分支的所有内容
git push origin master 提交远程仓库
git clone git@github.com:server-name:path/repo-name.git 从远程仓库克隆到本地
git checkout -b <name> 创建+切换分支
git branch 查看分支(当前分支前有*)
git branch <name> 创建分支
git checkout <name> 切换分支
git merge <name> 合并某分支到当前分支
git branch -d <name> 删除分支
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
Git用<<<<<<<=======>>>>>>>标记出不同分支的内容
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交
git merge --no-ff -m "msg" dev 在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
git log --graph --pretty=oneline --abbrev-commit 看分支历史
git stash 工作区存储
git stash list 查看工作区存储列表
git stash apply 恢复,但是恢复后,stash内容并不删除
git stash drop stash内容删除
git stash apply stash@{0} 恢复指定的stash
git stash pop 恢复的同时把stash内容也删了
git branch -D <name> 强行删除一个没有被合并过的分支
git remotegit remote -v查看远程库的信息
git push origin branch-name 本地推送分支
多人协作的工作模式通常是这样:
1.首先,可以试图用git push origin <branch-name>推送自己的修改;
2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3.如果合并有冲突,则解决冲突,并在本地提交;
4.没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>
git rebase rebase操作可以把本地未push的分叉提交历史整理成直线;缺点是本地的分叉提交已经被修改过了。
rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
git tag <name> 打一个新标签
git tag查看所有标签
git tag v0.9 f52c633 指定一个commit id打标签
git show <tagname>查看标签信息
git tag -d <tagname> 删除标签
git push origin <tagname> 推送某个标签到远程
git push origin --tags 推送全部尚未推送到远程的本地标签
git push origin :refs/tags/<tagname> 删除一个远程标签
在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件
git add -f <filename> 强制添加到Git
git check-ignore -v a.class 检查 .gitignore 问题

学习来源自廖雪峰Git教程

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 查看、添加、提交、删除、找回,重置修改文件 git help # 显示command的help git sho...
    Swiftor阅读 6,401评论 0 2
  • 开始: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/...
    草根老张阅读 4,312评论 0 50
  • 配置 首先是配置帐号信息ssh -T git@github.com # 登陆 github 修改项目中的个人信息 ...
    guanguans阅读 4,097评论 0 3
  • 分布式版本管理工具 git属于分布式 svn集中式 git安装 git初始化一个仓库 其实就是创建了一个.git隐...
    SnowDragonYY阅读 5,379评论 0 0
  • 图/松子 每天都必做一些事,这好像是种稳定的向上状态,内心会有股力量让人清醒和通畅。即便是春节,也没有放松计划每天...
    松子日记阅读 2,934评论 0 2

友情链接更多精彩内容