首页 > 学院 > 开发设计 > 正文

Git命令行

2019-11-08 00:30:27
字体:
来源:转载
供稿:网友

##初始化 - 添加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 masterclone远端分支: git clone -b branch_name remote_repo 例如: git clone -b branch_basic https://github.com/baiiu/ZhihuDaily.gitgit clone remote_repo -b branch 例如: git clone https://github.com/baiiu/ZhihuDaily.git -b branch_basicclone到指定目录中 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 messagepress “esc”write “:wq”then press enter<<<<<<< HEAD //代表是当前所在分支的代码 public boolean isRead = false;======= private int randomColor; public int priority;>>>>>>> dev


参考: 廖雪峰Git教程 阮一峰 分支管理策略 Git Book

git命令速查表


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表