git常规操作

查看配置
  1. git config -l
  2. git config --system --list 查看系统配置
  3. git config --global --list 查看本地配置
git http免密登录
  1. 在命令行输入命令:
git config --global credential.helper store
  1. 这一步会在用户目录下的.gitconfig文件最后添加:
[credential]
   helper = store
  1. push 代码push你的代码(git push), 这时会让你输入用户名和密码, 这一步输入的用户名密码会被记住,(下次再push代码时就不用输入用户名密码!这一步会在用户目录下生成文件.git-credential记录用户名密码的信息。)

SSH配置

  1. 打开git bash
  2. 执行生成公钥和私钥的命令:ssh-keygen -t rsa 并按回车3下(为什么按三下,是因为有提示你是否需要设置密码,如果设置了每次使用Git都会用到密码,一般都是直接不写为空,直接回车就好了)
  3. 执行查看公钥的命令:cat ~/.ssh/id_rsa.pub
    ** 配置多个ssh公钥**
  4. ssh-keygen -t rsa -C ‘your_email@example.com’ -f ~/.ssh/id_rsa_github (id_rsa_github 的名字不能和你原来私钥的名字相同)
    全局设置用户名和邮箱,设置对应项目去掉–global
  • git config --global user.name ‘admin’
  • git config --global user.email ‘admin@gmail.com’

重新登录git

  • 输入git config --system --unset credential.helper回车再git clone 网址
    就可以重新登录用户名和密码啦
  • 电脑的账户设置,删除git凭证,重新进行git身份认证

查看状态

  1. git status

查看当前项目中的设置
2. git config -l

查看git全局的设置
3. git config -l --global

分支相关操作

  • git branch //查看本地所有分支
  • git branch -r //查看远程所有分支
  • git branch -a //查看本地和远程的所有分支
  • git branch (branchname)//新建分支
  • git checkout (branchname) //切换分支
  • git checkout -b (branchName) //上面两行可以合成
  • git push --set-upstream origin 分支名 //上传到远程
  • git branch -d (branchname) //删除本地分支
  • git branch -d -r //删除远程分支,删除后还 需推送到服务器
  • git push origin: //删除后推送至服务器
  • git branch -m //重命名本地分支
    删除远程分支并push
  • git push origin --delete 分支名
  • git fetch -p origin 清除远程分支的本地缓存
  • git remote show origin 可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。
  • git remote prune origin 删除了那些远程仓库不存在的分支
    查看一下提交历史
  • git log --oneline --graph

提交

  • git add .
  • git commit -m ‘提交说明’
  • git push

克隆代码

  • git clone url(项目连接)

  • git fetct (是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中)
    如果只想取回特定分支的更新,可以指定分支名:

  • git fetch <远程主机名> <分支名> //注意之间有空格
    最常见的命令如取回origin 主机的master 分支:

  • git fetch origin master

  • git rebase

  • git rebase --continue

拉取代码

  • git pull (则是将远程主机的最新内容拉下来后直接合,即:
  • git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决)
    现在将版本退回到合并前,也就是回退一个版本
  • git reset --hard head^
    回退指定的commit的版本
  • git reset --hard (commit id)
    删除未推送的git commit
  • git reset --soft HEAD~1
  1. git rebase master(master为基础,将feature分支上的修改增加到master分支上,并生成新的版本)
  2. 产生冲突 ,修改完冲突,git add . 添加
  3. 现在是重点,之前的rebase其实只是完成了一半,由于出现冲突而终止,现在冲突解决,可以通过git rebase —continue继续完成之前的rebase操作
现有项目更换git地址
git remote -v 
origin  https://git.old.com/gourd/old.git (fetch)
origin  https://git.old.com/gourd/old.git (push)
重新设置git的新地址
git remote set-url origin https://git.souche-inc.com/groud/new.git
将项目上传到git上
git push -u origin --all
git push -u origin --tags

完成。但需要注意git分支,新上传项目的分支只会保留本地的,之前的远程分支不存在。

git清除缓存()
git rm filename
1. 作用: 删除工作区文件,并且将这次删除放入暂存区。
2. 注意: 要删除的文件是没有修改过的,就是说和当前版本库文件的内容相同。
git rm --cached filename
1. 删除暂存区文件,但保留工作区的文件,并且将这次删除放入暂存区
git rm -r --cached filename
git rm -f filename 
1. 作用: 删除工作区和暂存区文件,并且将这次删除放入暂存区。
2. 注意: 要删除的文件已经修改过,就是说和当前版本库文件的内容不同。
git rm -f --cached filename -f
合并指定的文件有时候想要合并A分支指定的文件或者文件夹到B分支上去,例如合并A分支的README.md文件到B分支上面。// 切换到A分支

git checkout A

// 获取A分支最新代码
git pull

// 切换到B分支
git checkout B

// 获取B分支最新代码
git pull

// 合并指定文件或者文件夹到分支
git checkout A README.md

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值