git 解决冲突
---保留本地修改更新
git stash
git pull
git stash pop
---放弃本地修改
git reset --hard
git pull
Git 修改用户名密码邮箱等
--查看用户名
git config user.name
--查看邮箱
git config user.email
--查看密码
git config user.password
--修改用户名
git config --global user.name "you name"
--修改邮箱
git config --global user.email "you email@qq.com"
--修改密码
git config --global user.password "新密码"
--查看所有
git config --list
git 基本命令
---git
user.name=***
user.email=******@qq.com
----初始化仓库
git init
----添加文件
git add readme.txt
----提交文件
git commit -m "wrote a readme file"
---查看记录
git log -n(数字)
git log --pretty=oneline
----回退
git reset --hard HEAD^
git reset --hard 876c (commit id)
----查看历史命令
git reflog
----查看一下状态
git status
----查看工作区和版本库里面最新版本的区别
git diff HEAD -- readme.txt
----撤销修改
git checkout -- file
注意 不加 -- 是切换分支
----删除
git rm test.txt
git commit
git 仓库相关操作
----链接远程仓库
git remote add origin git@github.com:***/XsCoding.git
---查看链接信息
git remote -v
----删除本地链接
git remote rm origin
---提交远程仓库
git push -u origin master
git clone 添加ssh密钥
生成新的公钥命令
ssh-keygen -t rsa -C"邮箱地址"
git clone 解决Permission Denied (publickey)问题
1. ssh-keygen -t rsa -b 2048 -C "你自己的邮箱地址"
2. 执行eval “$(ssh-agent -s)”确认ssh-agent处于开启状态,打印pid... 表示启用中;
3. ssh-add ~/.ssh/id_rsa 添加ssh key至ssh agent
----复制key(鼠标粘贴不方便时,使用此命令复制)
clip < ~/.ssh/id_rsa.pub
git 分支管理相关命令
--创建分支
git checkout -b (-b表示创建并切换,等价于git branch dev ;git checkout dev 两个命令)
git switch -c dev
--查看分支
git branch (* 当前分支)
--命令用于合并指定分支到当前分支
git merge dev
--删除分支
git branch -d dev
--查看分支合并图
git log --graph(q 可退出)
-----删除未合并的分支
已经有开发内容但未合并的分支删除时
git branch -D test (D 大写强制删除)
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
git 修复bug 解决冲突相关
-------------修复bug
*** 当前dev代码未完成,需要紧急修复bug上线时,直接切换分支,未完成的代码也会在新分支上,此时需要将未完成的代码存起来
git stash
git checkout master (切换分支)
git checkout -b fixed (创建修复分支)
git add file ;git commit file
git branch -d fixed (删除修复分支)
---切换dev分支
git checkout dev
git stash list (查看存起来的代码)
---先将修复的代码更新过来
git cherry-pick 32a1(fixed提交时的commitid)
--pop 取出并删除 apply 取出不删除 drop 删除
git stash pop (取出存起来的未完成的代码)= git stash apply;git stash drop
git 标签相关
---创建标签
git tag v1.0 dev
git tag v0.9 commitid
git show v0.9 (查看标签)
git tag(查看标签列表)
git tag -d v0.9 (删除标签)
用-a指定标签名,-m指定说明文字:
git tag -a v0.1 -m "version 0.1 released" 1094adb
--推送远程
git push origin v1.0
git push origin --tags(推送全部标签)
删除远程标签
1.删除本地:git tag -d v0.9
2.推送远程:git push origin :refs/tags/v0.9
git 统计代码行数
---统计代码行数
git log --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
版权声明:本文为weixin_42360600原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。