GIT使用大全(持续更新)

/New beginning Good results/

本地仓初始化

git init:初始化git仓库,会生成.git(存放本地库相关子目录和文件,不要删除和修改)

设置签名:项目级别/仓库级别:仅在当前本地仓库范围有效:
git config
系统用户级别:登录当前操作系统的用户范围:
git config --global
优先级:项目级别优先于系统用户级别
例:
git config --global user.name “xxx”
git config --global user.email “xxx@xxx.cn”

=======================================================================================================
本地仓查看版本,回退版本

git status:状态查看

查看每个版本的提交信息,回退版本
git log --oneline
git reflog
git reset id(id为版本号)

git reset id 等同于下面的回退方式:
git reset --hard 索引值
git reset --hard HEAD^ 往前退一步
git reset --hard HEAD^^ 往前退两步 等同于 git reset --hard HEAD~2

git使用reset回退版本后找不到最新版本的解决办法:
git fsck --lost-found 找出当前被丢弃的提交
git show id
git reset id 或者 git reset --hard id

提交后,查看哪些文件有修改
git log --name-status

本地仓从暂缓区撤销文件

git reset 文件名
git rm --cached:从暂缓区撤回git add的文件

工作区撤销单个文件修改:
git checkout 文件名

工作区撤销全部文件修改:
git checkout . (注意checkout后面加英文字符点)

=======================================================================================================
本地分支

2.分支:
git branch -v:查看分支
git branch [name]:创建分支
git checkout [name]:切换分支
git checkout -b [name]:创建name分支并切换到此分支

git branch -D [name]:删除本地name分支
git push origin --delete [name]:删除远程name分支

git branch -vv:查看本地分支与远程分支的关系

查看分支别名:git remote -v
取别名:git remote add [别名] [地址]

3.本地分支与远程分支:
本地分支存在,远程分支存在,但之间没有关联:git push -u [远程分支] 举例:git push -u origin master
本地分支存在,但远程分支不存在:git push origin [本地分支]:[远程分支] 举例:git push origin local_branch:origin_master(本地分支名可以与本地分支名一样)
git push origin t1_pro_dev:t1_pro_dev_cwh

拉取远程分支到本地分支:
git checkout -b 本地分支xxx origin/远程分支xxx 本地与远程分支 建立了连接
git fetch origin 远程分支xxx:本地分支xxx 本地与远程分支 不会建立连接,分支也保留在原本地分支上

删除远程分支:(1)推送一个空分支到远程分支,就相当于删除远程分支:git push origin :[远程分支]
(2)直接删除:git push origin --delete [远程分支]

#本地分支与远程分支关联: git branch --set-upstream 本地分支 origin/远程分支
本地分支与远程分支关联: git branch --set-upstream-to=origin/<分支> <本地分支>

4.分支合并:
(1)切换到接收修改的分支(主分支)
(2)git merge [分支名]
合并冲突:
(1)编辑文件,删除特殊符号
(2)把文件修改到满意的程度保存退出
(3)git add
(4)git commit -m “log” 后面不需要加文件名

合并出现图形界面:merge信息后直接ctrl+x

=======================================================================================================
权限问题

5.chmod改变权限:
git status发现大量文件修改:
chmod 会改变文件
git config --add core.filemode false

=======================================================================================================
合并

commit合并
git rebase -i
p:
s:
s:
第一个p 后面都可以用s 来合并,不然会出现没有父commit

=======================================================================================================
远程分支

强行推送至远程分支:当本地分支落后与远程分支,需要用如下命令实现push
git push --force 强制推送

=======================================================================================================
本地仓删除一个文件,再上传至服务器

git rm test.txt
git commit “[删除] 删除 test.txt”
git push

=======================================================================================================
其他注意

本地仓新增静态库,上传服务器可能漏传,需要使用强制上传指令
git add 文件 -f

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值