详细教程请参考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
//查看当前用户
git config user.name
git config user.email
//切换账号
git config --global user.name "Your_username"
git config --global user.email "Your_email"
//创建ssh key
ssh-keygen -t rsa -C "mail@mail.cn"
生成后的秘钥在用户目录的.ssh文件夹里,有id_rsa、id_rsa.pub两个文件。将公钥id_rsa.pub添加到github或gitlab的sshkey中即可
//如果同时存在多个git账号,则在提示后输入新的路径,如下
Enter file in which to save the key (/c/Users/user/.ssh/id_rsa): /c/Users/user/.ssh/id_rsa_newPath
//默认SSH只会读取id_rsa,所以为了让SSH识别新的私钥,需要将其添加到SSH agent,使用如下命令:
ssh-add ~/.ssh/id_rsa_newPath
如果报错:Could not open a connection to your authentication agent.无法连接到ssh agent
可执行ssh-agent bash命令后再执行ssh-add命令
然后将公钥添加到git账号中即可
在.ssh文件夹下,创建或编辑config文件
###gitlab
Host 域名或ip地址
Hostname whatever
User grant
PreferredAuthentications publickey
IdentityFile .ssh/id_rsa_gitlab
//查看仓库状态
git status
//自远程库下载到本地指定仓库
git clone git@github.com:user/demo.git path
//将针对指定文件的修改置入暂存区stage
git add file
//将本次修改的全部文件置入暂存区stage
git add .
//add后提交 message说明 置入版本库
git commit -m "message"
//一次性执行add .,commit
git commit -am "message"
//自远程仓库更新文件到本地
git remote update
//合并代码
git rebase
//将指定远程分支合并到本地
git rebase origin/master
//将本地库推送到远程 -u 首次推送
git push origin master
//将当前修改置入stash中
git stash
//将stash中的修改取出到当前文件中
git stash pop
//删除stash中的修改
git stash drop
## 基于远程release分支拉取新分支
#查看分支
$ git branch -a
//切换分支
$ git checkout -b feature-{feature_name}-{date}
//如需本地创建分支,并跟踪远程release分支:
$ git checkout -b feature-{feature_name}-{date} origin/release
$ git push -u origin feature-{feature_name}-{date}
如果上次的分支在维护过程中,release中其它分支合并的代码,则需rebase 远程release分支
先把本地分支与远程同步
$ git remote update
$ git rebase feature-{feature_name}-{date}
然后执行
$ git rebase origin/release
执行过程中,如果遇到冲突,可以使用idea工具resolve Conflicts
git add .
git rebase --continue
rebase后,可以在当前基础上新建分支,然后push到远程
git checkout -b feature-{feature_name}-{new date}
git push -u origin feature-{feature_name}-{new date}
最后,在适当时候发送合并请求 merge request
######撤销push到远程的一组操作
1、先将本地操作回退到指定版本
git reset --hard <版本号>
2、将本地的修改强行push到远程
git push origin <分支名> --force
######撤销add
git reset HEAD 撤销上一次add 里面的全部内容
git reset HEAD XXX/XXX/XXX.java 撤销指定文
######撤销commit
1、首先根据git log 查找到要回滚的commit_id
2、撤销
git reset commit_id (回退到指定的节点 且保留提交的修改内容)
git reset –hard commit_id (回退到指定的节点, 但提交的修改内容并未保留)
######修改密码后
//重置密码
git config --system --unset credential.helper
//存储新密码;在下次录入用户名、密码后会存储新的密码
git config --global credential.helper store