Git命令行
来源:互联网 发布:网络攻防交流平台 编辑:程序博客网 时间:2024/06/04 19:10
##初始化
- 添加SSH key
ssh-keygen -t rsa -C “your email”
- 查看当前config信息
git config –list
- 配置当前项目config信息
git config –local user.name “username”
git config –local user.email “email”
- 初始化项目:git init
- 关联远端仓库: git remote add origin 地址
- 修改远端仓库地址:git remote set-url origin 新地址
- 取消关联远程仓库:git remote remove origin
拉取代码
- 第一次拉取代码: git pull origin master
- clone远端分支:
- git clone -b branch_name remote_repo
例如:
git clone -b branch_basic https://github.com/baiiu/ZhihuDaily.git - git clone remote_repo -b branch
例如:
git clone https://github.com/baiiu/ZhihuDaily.git -b branch_basic
- git clone -b branch_name remote_repo
- clone到指定目录中
git clone remote_repo file_dir
分支
开启分支:git checkout -b feature_one branch
合并分支到develop:
git checkout develop
git merge - -no-ff feature_one -m “description”(为了保证版本演进的清晰,我们希望采用这种做法)推送分支到远端:git push origin branch_name
拉取远端分支:git checkout - -track origin/branch_name
关联远程分支:git branch –set-upstream branch_name origin/branch-name
取消和远端关联 :git remote rm origin
删除分支:git branch -d branch_name
git branch -D branch_name删除远端分支:
git push origin –delete branch_name从Tag上拆出分支:
git checkout -b branch_name tag_name查看分支间的不同
覆盖 git diff [branchA] [branchB] > a.txt
追加 git diff [branchA] [branchB] >> a.txt
修改和回滚
撤销工作区修改 git checkout – fileName 丢弃工作区内某一文件的修改
git checkout – . 丢弃工作区内所有的修改撤销已添加到stage暂存区修改
git reset HAED fileName重命名文件
git mv old_file new_file,重命名只能文件,不能是目录撤销已提交的修改,未推送到远端
git reset - -hard HEAD^
git reset - -hard HEAD commitId重置指针位置:
git reset - -hard HEAD~
git reset - -hard HEAD commitId,git reflog 查看命令史,可以找到commitId远端回滚,简单粗暴:
git reset –hard HEAD^
git push origin master -f
删除
- 删除本地文件:git rm xxx
- 删除远端文件:git remote romve xxx
- 删除远端分支:git branch -r -d origin/branchName
- 删除远端 .idea文件: git rm -fr .idea
- 删除build文件:
git rm -fr */build/\*
Tag
- 显示所有Tag: git tag
- 打Tag : git tag -a v4.0 -m “xxxx”
- 显示该Tag信息: git show v4.0
- 推送该Tag:git push origin v4.0
- 推送所有Tag: git push origin - - tags
- 删除该Tag,并在远端也删除:
git tag -d v4.0
git push origin :refs/tags/v4.0
或者:git push origin –delete tag tagName
推送代码:
- 第一次推送到远端仓库:git push -u origin master
- 第一次推送到dev分支:git push -u origin dev
- 再次推送到远端仓库主分支:git push origin master
- 推送到dev分支: git push origin dev
- 强制推送到远端某分支(有时候需要):git push -f origin branchName
查看分支状态
- 查看当前分支对应远端分支:
git remote show origin
git config –list
git branch -vv
stash命令
- git stash 暂存当前修改到暂存区
- git stash apply 取出暂存区中修改
- git stash drop 删除暂存区最新一条记录
- git stash pop 取出并删除该记录
- git stash clear 清空所有暂存区的记录
- git stash list 列出所有暂存区记录
合并当前分支commit
git rebase
解决冲突
git add .
git rebase –continue
产生于当前commit后发现远端同样有commit,此时使用git pull拉取commit后本地会有两个commit,如果push该两个会产生垃圾commit,使用git rebase合并这两个commit,如果有冲突需要解决,解决后使用git add,再使用git rebase –continue完成合并。参考链接
合并分支:
git merge - -no-ff feature_one -m “xxx”
osx上会遇到:
Please enter a commit message to explain why this merge is necessary,especially if it merges an updated upstream into a topic branch.要求填写日志,解决方法 如下:
- press “i”
- write your merge message
- press “esc”
- write “:wq”
- then press enter
<<<<<<< HEAD //代表是当前所在分支的代码 public boolean isRead = false;======= private int randomColor; public int priority;>>>>>>> dev
参考:
廖雪峰Git教程
阮一峰 分支管理策略
Git Book
- git命令行
- git命令行
- git命令行
- Git命令行
- git命令行
- git 命令行
- git命令行
- git 命令行
- git命令行
- git命令行
- git 命令行
- Git命令行
- Git 命令行
- git命令行
- git命令行
- Git命令行
- Git 命令行
- git命令行
- Android margin 与 padding的区别
- SecureCRT连接Ubuntu报The remote system refused the connection.解决方案
- 初识Winsock之美
- C# 字段
- 大型分布式网站架构设计与实践《概述与大纲》
- Git命令行
- 用Application() 实现同一个程序下数据共享
- 用Hibernate与Struts实现简单的项目的登录与注册
- Android4.4实现状态栏沉浸
- 每天一点matlab——提取图像中的小圆圈
- 三大Javaweb框架的工作原理--Struts2+Hibernate+Spring3
- iOS的二维码扫描
- Android-Material Design布局之第一曲
- 流形学习入门篇1