git常用操作

简单记录一些经常使用的git操作,方便以后查询
# 本地初始化git项目,a.本地创建;b.git clone
mkdir git-demo && cd git-demo && git init && touch README.md && git add *.md && git commit -m 'init commit'
# 关联远程仓库地址
git remote add origin https://gitee.com/lilhx/git-demo.git
# git clone
mkdir git-demo && git clone https://gitee.com/lilhx/git-demo.git git-demo
# 或者
git clone https://gitee.com/lilhx/git-demo.git

# 查看当前分支关联的远程分支
git branch -vv

# 创建本地分支local/dev1,且设置关联远程分支origin/dev1和origin/dev11
git checkout -b local/dev1 # 此时local/dev1未和远程分支关联
git push -u origin local/dev1:dev1
git push -u origin local/dev1:dev11
# 当本地分支和远程分支名称一样时
git push -u origin dev:dev #可简写为git push -u origin dev

# 创建本地分支
git branch dev2

# 创建远程分支
git push origin local/dev1:dev11

# 删除本地分支
git branch dev2
git branch -d dev2

# 删除远程分支
git push origin  :dev11
# 或者
git branch -r -d origin/dev11
# 或者
git push -d origin dev11

# 文件test.txt已经提交到远程服务器,但需要从远程服务器删除,本地文件还保留,只是不提交到版本控制中(不受版本控制)
git rm --cached test.txt && git commit -m 'delete test.txt from resp' && git push origin master

# 最新一次commit是修改test.txt文件内容,但提交后发现少改了些内容,此时可以在不增加commit的情况下,把内容加上去
echo "t1" >> test.txt && git add test.txt && git commit --amend

# 或者
git reset --soft pre_commit_id && echo "t1" >> test.txt && git commit -m 'add test.txt'

# 添加远程仓库,并在本地创建分支与之关联
git remote add git-demo2 https://gitee.com/lilhx/git-demo2.git && git fetch git-demo2
git checkout -b demo2/master git-demo2/master

# 删除远程仓库,先把关联的分支清理
git remote remove git-demo2

# 已经创建的分支demo2/master关联远程分支git-demo2/master,注意先要将远程分支fetch到本地,git fetch git-demo2
git branch demo2/master && git checkout demo2/master && git fetch git-demo2
git branch --set-upstream-to git-demo2/master
# 或者
git branch -u git-demo2/master

# 取消本地分支demo2/master与远程分支git-demo2/master的关联
git branch --unset-upstream demo2/master


# 回滚单个文件
git log file
git reset commit_id file
git checkout -- file
git commit -a -m 'rollback file'

# 回退到某个历史版本
git log
git reset --hard commit_id

# 根据.git目录还原源代码
git reset --hard HEAD

# 切换分支
git checkout branch_name

# 跟踪某个远程分支
git checkout --track origin/master
or
git checkout -b branch_name origin/master

# 当修改了历史commit_id,导致无法提交或或merge时,强制更新到最新版本
git fetch
git reset origin/master

# 修改最近一次的author信息
git commit --amend --author='lilh <lilianghong677@gmail.com>'

# 当push失败时,强制push(慎用)
git push -f -u origin master

# 配置提交人信息:author
# 1.全局(mac:~/.gitconfig,windows:~/.gitconfig)
git config --global user.name 'lilh'
git config --global user.email 'lilianghong677@gmail.com'
# 2.局部(项目目录/.git/config),在项目目录下操作
git config --local user.name 'lilh'
git config --local user.email 'lilianghong677@gmail.com'

# 关联本地分支到远程分支,将local/dev 关联到到远程分支origin/feature/dev上
git branch local/dev
git branch -u origin/feature/dev local/dev

# 取消关联
git branch --unset-upstream local/dev

# 回退已经提交到远程仓库的某个历史版本
git log #查看要回退到哪个版本
git reset --hard commit_id
git push -f -u origin dev2
#若有人已经pull下来了,则可以(此时本地的修改全部丢失)
git fetch origin dev2
git reset --hard origin/dev2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值