1. 配置ssh:
执行ssh-keygen 命令 一路回车 把key复制到GitLab的deploy_keys 填入New Deploy Key
vim .bashrc
为了在git中显示当前分支的名字 在最后写入:
function git_branch {
branch="`git branch 2>/dev/null | grep "^*" | sed -e "s/^* //"`"
if [ "${branch}" != "" ];then
if [ "${branch}" = "(no branch)" ];then
branch="(`git rev-parse --short HEAD`...)"
fi
echo " ($branch)"
fi
}
export PS1='u@h [ 33[01;36m]W[ 33[01;32m]$(git_branch)[ 33[00m] $ '
然后source ~/.bashrc使其生效
2. git 操作:
查看分支:
git branch -a # 查看所有分支
git branch -r # 查看远程分支
基于某分支创建分支:
git checkout xxx 分支
git checkout -b xxx_new 分支
删除分支:
git branch -D xxx # 删除本地分支
git push origin --delete xxx # 删除远程分支
提交操作:
git add . 或 git add -A
git commit -m "commit信息" 或git commit -am "追加的commit信息"
合并commit:
git rebase -i HEAD~5 表示合并之前的5个commit 不要的commit的pick改为s 保存退出(注意:第一个commit不能修改)
修改commit的名字:
git commit --amend
git log 查看commit记录
git diff 查看文件改变
合并远程代码:
git fetch server develop
git rebase server/develop
解决rebase的冲突问题:
1. 先解决冲突,删掉不需要的代码
2. git add .
3. rebase --continue 就切换到了分支上,再push即可
4. 如果解决了冲突又重新rebase了,git rebase --skip即可
取消git的修改:
git checkout -- . 清除当前已修改的信息,代码撤回到修改前
回滚commit:
git reset --soft HEAD~1 回滚上一个commit并保留修改
git reset --hard HEAD~1 回滚上一个commit,不保留修改
推送代码:
git push origin xxx
git push -u origin xxx 推送并更新
git push -f origin xxx 强制推送
git ignore文件更新
git rm -r --cached . 清空已经被gitignore忽视的文件
忽略git对文件进行权限检查:
git config core.filemode false