常用git命令[个人整理]

简易git命令

首先配置SHHkey

  1. 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
ssh-keygen -t rsa -C "934797303@qq.com" //这里换成自己github绑定的邮箱

然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

  1. 登陆GitHub,打开“Account settings”,“SSH Keys”页面。然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

Git 全局设置:

//配置github用户名
git config --global user.name "WarnerYang"

//配置github邮箱
git config --global user.email "934797303@qq.com"

取消全局 username, email

git config --global --unset user.name
git config --global --unset user.email

本地创建git仓库(如:learn):

mkdir learn    //创建目录
cd learn       //打开目录
git init    //初始化
touch README.md     //创建README文件
git add README.md   //添加
git commit -m "first commit" //提交及说明    
git remote add origin git@github.com:WarnerYang/learn.git //提交到远程
git push -u origin master   //推送

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

如果在github上已经创建仓库(如:learn)

git remote add origin
git clone git@github.com:WarnerYang/learn.git  //从远程库克隆

如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。

你也许还注意到,GitHub给出的地址不止一个,还可以用https://github.com/WarnerYang/wx.git这样的地址。实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。

使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https

添加

git add 文件名或文件夹名  //提交整个目录 git add .

提交

git commit -m  "提交说明"

推送

git push  origin master

删除远程分支

git push origin --delete [branchName]

本地同步线上已经删除的分支

git remote prune origin

回滚到指定的版本

git reset --hard e377f60e28c8b84

让Git显示颜色

git config --global color.ui true

配置别名

git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch

gitk 乱码修改

windows找到git配置文件
C:\Users\93479\.gitconfig

在末尾添加

[gui]
    encoding = utf-8

如何 clone git 项目到一个非空目录

如果我们往一个非空的目录下 clone git 项目,就会提示错误信息:

fatal: destination path '.' already exists and is not an empty directory.

解决的办法是:

1. 进入非空目录,假设是 /d/WWW/qh_loan/api

2. git clone --no-checkout git@git.qhweidai.com:qh_loan/api.git tmp

3. mv tmp/.git .   #将 tmp 目录下的 .git 目录移到当前目录

4. rmdir tmp

5. git reset --hard HEAD

gitignore 不起作用的解决办法 && 已经上传的怎么加入gitignore

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

Git多账号配置

https://www.cnblogs.com/popfisher/p/5731232.html

前提要 取消全局 username, email

Host github.com
    HostName  github.com
    User      WarnerYang
    IdentityFile  C:/Users/93479/.ssh/id_rsa_github

Host git.xxx.com
    HostName  git.xxx.com
    User      yhq
    IdentityFile  C:/Users/93479/.ssh/id_rsa

参考

转载于:https://www.cnblogs.com/yanghuaqiang/p/10688152.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值