1. 忽略因为修改文件权限而导致的文件提交 git 修改
git config core.filemode false
2. 查看当前项目使用的分支
git branch
3. 查看项目所有远程分支
git branch -a
4. 切换分支
git checkout dev
5. 查看本地项目的git地址
git remote -v
6. 拉取远程分支并同时创建对应的本地分支
git checkout -b 本地分支名 origin/远程分支名
7. 删除本地分支
git branch -d 本地分支名
8. 当前分支跟踪远程 dev 分支
git branch -u origin/dev
9. 把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名)
git push origin 分支名:分支名
10. 强制更新本地git仓库,忽略本地修改
git fetch --all # 下载远程的库的内容,不做任何的合并
git reset --hard origin/master # 把HEAD指向刚刚下载的最新的版本
11. 查看当前git仓库的版本号
git rev-parse HEAD
12. 给服务器添加两个git密钥
生成密钥
ssh-keygen -t rsa -C 'yourname@gitee.com' -f ~/.ssh/gitee_rsa
ssh-keygen -t rsa -C 'yourname@github.com' -f ~/.ssh/github_rsa
添加密钥
ssh-agent bash
ssh-add ~/.ssh/gitee_rsa
ssh-add ~/.ssh/github_rsa
查看密钥列表
ssh-add -l
修改配置文件~/.ssh/config (没有就先添加)
# 配置文件参数
# Host : (可以直接填写ip地址)可以看作是你要识别的模式,
#对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名(建议与Host一致)
# IdentityFile : 指明上面User对应的identityFile路径
# Port: 端口号(如果不是默认22号端口则需要指定)
#gitee
Host gitee
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_rsa
#github
Host github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa
测试
ssh -T git@gitee.com
ssh -T git@github.com
13. git克隆项目时指定本地目录
git clone [仓库地址] [目录]
14. 执行git pull 报错:error: insufficient permission for adding an object to repository database .
cd 仓库/.git
sudo chgrp -R [当前角色组].
sudo chmod -R g+rwX .
说明:
git add 是将工作区已修改的文件提交到暂存区
git commit 是将暂存区的文件提交到Git 目录
15. add 之后的回退
如果执行git add之后,发现误添加了某个文件提交到了暂存区,可以通过以下命令撤回到工作区:
git reset HEAD <文件名>
如果想将所有暂存区的文件撤回到工作区:
git reset HEAD
16. commit 回退
如果执行git commit之后,因为某种原因想撤销提交但仍然保留commit之前的修改,可以通过以下命令撤销提交:
# 将暂存区最近一次提交到Git目录的文件全部撤回到暂存区
git reset --soft HEAD^
17. 如果想将git commit和git add一并撤回
# 将暂存区最近一次提交到Git目录的文件全部撤回到暂存区,且将暂存区的文件全部撤回到工作区
git reset --mixed HEAD^
# 等同于该命令
git reset --soft HEAD^ && git reset HEAD
18. 如果不想保留最近一次提交的所有修改
git reset --hard HEAD^