首页 > 代码库 > Git配置
Git配置
1,Git配置
2,生成密钥
$ ssh-keygen -t rsa -C "wanhua.wu@healthbok.com" 后面的可以不输入,自动生成到~/.ssh路径下面 生成密钥
$ cd ~/.ssh 查看密钥 : rsa 公钥:rsa.pub
$ ssh -T git@github.com 验证key是否正常 例如:$ ssh -T git@pdgitserver
3,将某次提交合并到指定分支
git cherry-pick <commit id>
git log -p <dev分支> //1-查看要合并的提交 git checkout master //2-切换到要合并的指定分支 git cherry-pick 62ecb //3-将提交合并到当前分支
4,忽略提交
git update-index --assume-unchanged FILENAME
5,将当前分支已经push后的内容回归到指定提交的版本
git reset --soft commit_id //1-回归到指定提交所在的版本
git push origin dev -f //2-强制将本地仓库推送到远程服务器
6,基本配置
git config --list
git config -e
git config -e --global
git config --global user.name "[name]"
git config --global user.email "[email]"
7,初始化提交
git init
git init [ProjectName]
git clone [Url]
git pull origin bp
git add [file] [file]
git commit [file] -m "[message]"
git pull origin bp
git push origin bp
8,分支
git push origin dev //创建分支
git checkout bp //切换分支到bp
9,状态和日志
git status //有变更的文件
git diff //工作区和暂存区的差异
git diff --cached [file] //暂存区和上一个commit差异
git diff HEAD //工作区和当前分支最新commit差异
git diff [first-branch]...[second-branch] //两次提交之间的差异
git log > log.txt //导出日志到文件
git log //当前分支的版本历史
git log --stat //提交历史
git log -p [file] //文件每次diff历史
git reflog //当前分支最近的提交
git log --follow [file] //文件的版本历史,包括改名
git whatchanged [file] //文件的版本历史,包括改名
git blame [file] //文件修改的人和时间
git reflog //当前分支最近的提交
git show [commit] //提交的元数据和内容的变化
git show --name-only [commit] //提交变化的文件
git show [commit]:[filename] //提交时的文件内容
10,远程仓库
git remote -v 显示所有远程仓库
git fetch [remote] 下载远程仓库所有变动
git remote show [remote] 显示远程仓库信息
git remote add [shortname] [url] 增加一个新的远程仓库
git pull [remote] [branch] 拉取远程仓库变化,并与本分支合并
git push [remote] [branch] 上传本地分支到远程仓库
git push [remote] --force (谨慎使用)即使有冲突,也强行推送当前分支到远程仓库
git push [remote] --all 推送所有分支到远程仓库
11,撤销
git checkout [file] 恢复暂存区文件到工作区:撤销git add
git checkout [commit] [file] 恢复本地仓库文件到工作区:撤销git commit
git checkout . (谨慎使用)恢复上一个commit所有文件到工作区:撤销git commit
git revert [commit] 新建commit,用来撤销commit,后者的变化将被前者抵消,并应用到当前分支
git reset [file] 重置暂存区文件和上一次commit一致
git reset --hard (谨慎使用)重置暂存区、工作区和上一次commit一致
git reset [commit] 重置当前分支指针为commit,同时重置暂存区,工作区不变
git reset --hard [commit] 重置当前分支的HEAD为commit,同时重置暂存区、工作区和commit一致
git reset --keep [commit] 重置当前HEAD为commit,但暂存区和工作区不变
12,添加删除文件
git add [file] [file]
git add [dir] 目录
git add . 所有文件
git rm [file] [file] ... 删除工作区文件,将删除放入暂存区
git rm --cached [file] 停止追踪指定文件,文件会保留在工作区
git mv [original-file] [renamed-file] 文件改名,将改名放入暂存区
13,提交
git commit -m "[message]" 暂存区到仓库区
git commit [file] [file] -m "[message]" 暂存区到仓库区
git commit -a 提交工作区自上次commit之后变化到仓库区
git commit -v 提交显示所有diff信息
git commit --amend -m "[message]" 使用一次新的commit,替代上一次提交,如果代码没有改变,则用来改写上一次commit提交信息
git commit --amend [file] [file] ... 重做上一次commit,并包括文件的新变化
14,分支
git branch
git branch -r 远程
git branch -a
git branch [branch-name] 新建一个分支,但依然停留在当前分支 例如:git branch dev
git checkout -b [branch-name] 新建一个分支,并切换到新分支 例如:git checkout -b dev
git branch [branch-name] [commit] 新建一个分支,指向一个commit
git branch --track [branch-name] [remote-branch] 新建一个分支,并和一个远程分支建立追踪关系
git checkout [branch-name] 切换到指定分区,并更新工作区
git branch --set-upstream [branch] [remote-branch] 建立追踪关系,在现有分支和远程分支之间
git merge [branch] 合并指定分支到当前分支
git cherry-pick [commit] 将commit合并进当前分支
git branch -d [branch-name] 删除分支
git push origin --delete [branch-name] 删除远程分支
git branch -dr [remote/branch] 删除远程分支
15,其他
git archive 生成可供发布的压缩包
16,git文件名大小写修改
git mv --force Weixin.xml weixin.xml (在本地修改完提交不起作用,可以尝试在git服务器修改,然后下载)
git mv -f Weixin.xml weixin.xml
或者
Add ignorecase = false to [core] in .git/config;
17,标签
git tag 列出所有tag
git tag [tag] 新建一个tag,在当前commit
git tag [tag] [commit] 新建tag在指定commit
git show [tag] 查看tag信息
git push [remote] [tag] 提交指定tag
git push [remote] --tags 提交所有tag
git chekout -b [branch] [tag] 新建分支指向tag
Git配置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。