git使用说明及问题集锦

使用说明

git add
git add 是一个多功能命名,根据目标文件的状态不同,此命令的效果也不同:可以用它开始跟踪新文件,或者把已经跟踪的文件放到暂存区,还能用于合并时把冲突的文件标记为已解决状态。
已经跟踪的文件修改后还是需要执行git add命令将修改的文件放到暂存区的。

git commit -a
一般执行git commit之前要先执行git add,将修改的文件加到暂存区,执行git commit -a 可以省去git add命令

git commit --amend
--amend 用于撤销上一次的提交,重新提交替换上一次的提交,如果一个一个文件忘了暂存了,导致没有提交上去,可以先执行git add 然后再执行git commit --amend

git checkout -b 'xxxx'
创建并检出名为‘xxx’的分支,等价于:
git branch 'xxx'
git checkout 'xxxx'
如果想在某个分支的基础上创建分支,必须要先切换到该分支后再创建新的分支,例如在master分支的基础上创建分支:
git checkout master 
git checkout -b 'xxx'

git branch -d xxx
删除分支xxx,删除分支的时候必须先退出分支,退出分支直接git checkout 到其他分支即可

git branch -D xxx
强制删除xxx分支,如果xxx分支尚未合并到别的分支,执行git branch -d xxx,会失败,如果要强制删除可以执行该命令

git merge xxx 
将xxx分支合并到当前分支,执行该命令前要先切换到要合并的分支,例如要把xxx分支合并到master分支:
git checkout master
git merge xxx

git cherry-pick <commit id>
将指定的某次提交合并到当前分支

git remote -v
查看远程url

git remote add xxx remoteurl
添加远程仓库url
git remote add zhangzhanyang ssh://git@git.sankuai.com/~zhangzhanyang/banma_android_crowdsource_zzy.git

git remote set-url 
修改远程仓库url
git remote set-url origin git@git.oschina.net:zhzhyang0313/photoweb.git

git reset --hard $commitId
将本地仓库回退到某次提交$commitId为某次提交的id

git reset --soft 版本号

将本地仓库回退到某次提交,并且保留本地修改的信息

git push origin xxx
将当前分支commit推送到远程分支xxx

git push origin xxx -f
强制将当前分支commit推送到远程分支xxx

git push -f
强制推送到远程仓库,如果远程仓库版本较高会被覆盖掉

git stash
将工作区中内容储藏

git stash list
查看储藏区内容

git stash apply [--index]
从储藏区恢复到工作区

git mv -f myfile MyFile
修改文件名

git fetch origin
将远程分支拉到本地

git checkout -b xxx origin/xxx
用远程分支xxx创建本地分支xxx

删除远程仓库上多余的文件

git clone xxxxaddress

git pull origin branchName

rm -rf xxxfile

git commit -m 'delete'

git push origin branchName

 

 

问题集锦

1、git中报unable to auto-detect email address 错误的解决办法

提示

** Please tell me who you are.


Run


  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"


to set your account's default identity.
Omit --global to set the identity only in this repository.


fatal: unable to auto-detect email address (got 'tim@newton.(none)')
解决办法

找到工程目录的.git文件夹,打开之后找到config文件,在最后边加上一句话
[user]
 email=your email
 name=your name
your email 和your name随便写上就行

或者

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

2、error: failed to push some refs to .....

原因没有权限

解决方法:

添加权限或者新建一个分支提交

3、使用git push没有报错,但是远程仓库没有更新的问题

解决方法:

https://blog.csdn.net/YBan10032/article/details/81903675

4、gitlab error: you need to resolve your current index first

此问题出现在git merge未成功然后切换分支的时候出的错误,

解决方法:git --reset merge

5、git diff old mode 100644 new mode 100755

切换到源码根目录下执行

git config --add core.filemode false

6、git中怎样实现忽略已经提交过的文件和拉取后不提交配置文件

把文件加入不提交队列:

git update-index --assume-unchanged 文件

取消加入不提交队列:

git update-index --no-assume-unchanged 文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值