常用git命令

最近学了怎么用git和github,并且做了一个简单的个人页面,接下来会慢慢完善。这里记录一下常用的git命令,方面查阅:

使用前

1.设置Git的user name和email:

$ git config --global user.name "Creabine"
$ git config --global user.email "[email protected]"

2.生成SSH密钥:

$ ssh-keygen -t rsa -C “creabine@foxmail.com”
//按3个回车,密码为空。
//最后得到了两个文件:id_rsa和id_rsa.pub
//在github中输入id_rsa.pub文件中的信息

3.用记事本打开公匙id_rsa.pub(如果第一次用别的软件打开,会错误,无法正常使用,所以千万注意,直接用记事本打开。),然后在github的setting的ssh中加入公匙。就可以正常使用了。**

4.此时如果发现push失败或者需要输入账号密码,是因为默认使用了https链接,我们设置的SSH没起作用,

//这时候输入:
$ git remote -v
//发现如下,果然是https
origin  https://git@github.com/Creabine/vue-demo.git (fetch)
origin  https://git@github.com/Creabine/vue-demo.git (push)
//那么修改为ssh:
$ git remote set-url origin git@github.com:Creabine/vue-demo.git
//然后再查看一次
$ git remote -v
origin  git@github.com:Creabine/vue-demo.git (fetch)
origin  git@github.com:Creabine/vue-demo.git (push)

发现已经修改成为SSH链接方式了,再push就没问题了。

使用

1.将项目clone到本地:

$ git clone https://github.com/Creabine/Creabine.github.io.git

2.将本地修改过的代码提交到github上:

//1.添加所有文件
$ git add .
//2.提交
$ git commit -m"提交信息"
//3.push
$ git push

注意1:当需要忽略某些文件不提交的时候,可以创建一个.ignore文件来设置要忽略的文件夹。点击这里查看详情。另外有个小技巧:windows下无法直接创建文件名为 .ignore 的文件,可以写为 .ignore. 来创建它。

注意2:当工程中使用了gulp时,提交时可能会遇到node-modules报文件名过长无法提交问题,此时可以使用以下命令来修复:

//全局设置
git config --system core.longpaths true
//也可以仅设置当前项目:
git config core.longpaths true
//查看设置状态:
git config core.longpaths

之后即可正常提交。

3.更新本地

git pull

4.新项目上传

  • 在github上新建仓库,仓库名跟本地代码文件夹名字一样
  • git clone到本地
  • 将要上传的代码放入clone下来的文件夹,然后git提交即可。

其他

//查询状态
$ git status
//查看密匙是否正常工作
$ ssh -T git@github.com

分支管理

//查看有哪些分支
git branch
//创建本地分支Creabine
git branch Creabine
//切换到Creabine分支
git checkout Creabine
//上边两个命令的合体(创建新的Creabine并切换到他)
git checkout -b Creabine
//把Creabine分支合并到当前分支
git merge Creabine
//获取新的远程分支
git fetch origin Creabine
//删除远程分支Creabine
git push origin :Creabine

切换分支提交

在A分支开发了很多,但是突然发现要提交到B分支,该怎么办呢?

// 使用stash暂存
git stash save 'some tag'
// 检查是否存下来了
git stash list
// 切换分支
git chenkout -B
// 然后就能在B分支看到stash了
git stash list
// 把文件释放出来
git stash apply

如果对stash有疑问,可以输入git stash -h帮助查看命令

更新子分支

从dev拉了一个新分支feature进行开发,开发持续了很久。此时dev分支已经提交了很多。现在希望feature分支能够同步dev之后的分支,使用rebase

git rebase dev

猜你喜欢

转载自blog.csdn.net/creabine/article/details/51691656