git一些操作知识

常用命令

git 常用命令
----------------------------------
配置
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
----------------------------------
状态和日志
1、查看状态
gti status

2、查看日志
git log
git log --graph --pretty=oneline
git log --graph --all
git reflog
git log -p FETCH_HEAD

3、查看分支
git branch
git branch -a
git branch -r
git branch -vv
---------------------------------
增删操作
1、增加
git add test.txt

2、删除
git rm test.txt

3、提交
git commit -m "add test.txt"
git commit -m "del test.txt"

4、复制提交
git cherry-pick 4c805e2
----------------------------------
回退操作
1、回退工作区
git checkout -- test.txt

2、回退暂存区
git reset HEAD test.txt

3、回退版本库
git reset --hard HEAD^
git reset --hard logid
----------------------------------
分支操作
1、创建/切换分支
git branch dev
git checkout dev = git switch dev
git checkout -b dev = git switch -c dev
git checkout -b dev origin/dev

2、合并分支
git merge dev 
git merge origin/dev
git merge --no-ff dev
git merge --no-ff -m "xxxx" dev

3、删除分支
git branch -d dev
git branch -D dev
----------------------------------
暂存操作
1、暂存与恢复
git stash 
git stash list
git stash apply stash@{0}
git stash drop stash@{0}
git stash pop stash@{0}

---------------------------------
远程操作
1、查看
git remote
git remote -v

2、关联
git clone ssh/http
git branch --set-upstream-to=origin/master
git remote rm origin
git remote add github git@github.com:michaelliao/learngit.git

3、拉取
git pull
git pull origin dev
git pull --ff-only
git pull origin dev:dev
git fetch
git fetch origin dev

4、推送
git push origin dev

----------------------------------
标签操作
1、查看标签
git tag
git show v1.0

2、打标签
git tag v1.0
git tag -a v1.0 -m "xxxx" logid
git push origin v1.0
git push origin --tags

3、删除标签
git tag -d v1.0
git push origin :refs/tags/v1.0
----------------------------------
其他
git rebase
.gitignore

可视化工具 TortoiseGit

  • 免费+中文(只有windows版)
  • 与TortoiseSVN一脉相承的操作体验

案例分析

  • 免密github
    github下载代码可选则 http或ssh,免密码秘钥方式只能ssh
  • 重新关联远程机器
$ git remote rm origin  
$ git remote add origin git@github.com:suicuney/Java-Gof.git
  • 清理历史commit
//项目初期,提交混乱,先clone下来,重新提交
git clone git@github.com:suicuney/SpringCloud.git
cd SpringCloud
git checkout --orphan latest_branch   
//orphan表示没有提交的新分支,需要本地提交一次
git add -A
git commit -am "spring cloud"
git branch -D master  // 删除主分支
git branch -m master  //改名当前分支为 master
git push -f origin master  //强制推送当前主分支
  • 中间跳板机问题
/*背景:利用中间踏板到github
本地开发机器A, 云服务器B,github服务器C。
B是从C clone的,A是从B clone的,目的是A经过B跳转推送到C,防止A直接到C。
A更改后push到B,这时候B的版本库是新的,工作区是旧的,需要git reset --hard(B的版本库和工作区同步,也可不操作,因为B只是跳转),B再进行push到C。
报错:git - remote rejected] master -> master (branch is currently checked out)
修改git目录下config
解决:
*/
  vi .git/config
  //添加
  [receive]
    denyCurrentBranch = ignore
待添加…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值