- 生成秘钥和公钥
ssh-keygen -t rsa -C email@email.com
C:\Users\user.ssh目录下生成私钥:new 公钥:new.pub
-
windows下配置多个ssh key连接不同github 有多个则执行多次即可
1、生成公钥和秘钥 2、复制公钥new.pub内容加入github的SSH keys
3、在.ssh文件夹下的conf文件加入以下配置(没有conf则创建)
Host binwu #自定义
HostName github.com
user git
IdentityFile C:\Users\user\.ssh\id_rsa.binwugithub #秘钥
#git clone Host:githubName/repositoriesName.git 下载项目命令
#替换上面的值
#Host:配置里的host
#githubName:github用户名
#repositoriesName:仓库名
4、查看是否配置成功
ssh -T Host
5、下载项目
git clone Host:githubName/repositoriesName.git
-
忽略提交文件
创建.gitignore文件,加入文件夹或文件名
-
远程仓库覆盖本地
git fetch --all git reset --hard origin/master git pull
-
查看状态
git status
-
查看修改
git diff <file>
-
提交文件
git add <file> 多个文件用空格分开 或提交所有修改 git add . git commit -m "describe" git push origin branch
-
查看日志
-p 查看详细信息 git log n git reflog (查看所有日志) git log --graph --pretty=oneline --abbrev-commit(查看分支合并情况) git log filename git log filename 查看修改详细信息 git log --author username git log --grep keywords
-
版本回退
1、git reset --hard HEAD(HEAD表示当前版本,HEAD表示上一个版本,HEAD^表示上上一个版本……) 或者 git reset --hard commit_id (git log n查看日志有commit_id)
2、提交代码
方法一 :push的时候用--force,强制把远程库变成a -> b -> d,大部分公司严禁这么干,会被别人揍一顿 方法二:做一个反向操作,把自己本地变成a -> b -> c -> d,注意b和d文件快照内容一莫一样,但是commit id肯定不同,再push上去远程也会变成 a -> b -> c -> d
-
撤销工作区的修改(git add 后)
git checkout -- <file> (本地仓库覆盖工作区)
-
撤销暂存区的修改(git commit 后)
git reset HEAD <file> (远程仓库覆盖暂存区)
-
删除文件
git rm <file> (-r表示递归所有子目录) git status (查看状态) git checkout -- <file> (撤销) git commit -m "describe" git reset HEAD (撤销,会撤销本地所有修改) git push
-
创建分支
git branch <branch_name> git checkout -b <branch_name> (创建并切换分支)
-
删除分支
git branch -d <branch_name> git push origin --delete branch_name 删除远程分支 git push origin :branch_name 删除远程分支(推送一个空分支到远程分支)本地:远程
-
切换分支
git checkout <branch_name>
-
合并分支
git merge <branch_name> (合并到当前分支)
-
查看所有分支
git branch (当前分支前面会标一个*号) git branch -r 查看远程分支
-
查看分支图
git log --graph --all --decorate git log --graph --all --decorate=short
-
冲突解决
查看冲突:git status 手动修改冲突文件
-
分支重命名
git branch -m old new