git

124 阅读3分钟

git 六行配置

git config --global user.name 你的英文名
git config --global user.email 你的邮箱
git config --global push.default simple
git config --global core.quotepath false
git config --global core.editor "code --wait"
git config --global core.autocrlf input

注意:上面的英文名和邮箱跟 GitHub 没有关系。
可以跟 GitHub 的用户名和邮箱保持一致,
也可以不一致。

注意:你需要保证 code 是可以直接在命令行执行的。
如果不能执行,你需要安装 VSCode 并配置 PATH。
我的 PATH 里添加的内容是
D:\software\VSCode\bin

git可以实现多版本切换

本地

  • git init 创建.git目录即本地仓库

  • git add xxx 选择要提交的内容

  • .gitignore 文件描述不提交的内容

  • git commit -v 用来提交

  • git log 用来查看历史

  • git reset --hard xxxxxx 用来切换版本

  • git reflog 用来查看所有历史

  • git branch xxx
    xxx是自己想的名字。基于当前commit创建一个新的时间线(分支)
    我在哪个分支提交,代码就出现在哪个分支
    git branch -d xxx 删除分支

  • git checkout xxx
    用于切换另一个分支
    当前目录有未提交的代码,只要跟另一个分支不冲突,就不需要理会
    如果冲突,可以使用git stash,可以合并冲突

  • git merge 将另一个分支合并到当前分支
    进入要保留的分支运行git merge xxx
    合并完后删除无用的分支git branch -d xxx
    若冲突,解决冲突(查找====在哪,删掉不用的代码),然后直接 git commit

远程

ssh-keygen -t rsa -b 4096 -C 你的邮箱
cat ~/.ssh/id_rsa.pub                           # 得到公钥内容
ssh -T git@github.com
git remote add origin git@xxxxxxx    #在本地添加远程仓库地址,origin是远程仓库的默认地址,也可以叫xxx,即git remote add xxx git@xxxxxxx 
git branch -M main
git push -u origin main  #设置上游分支,之后就不用再设置上游分支了,直接git pull; git push;

推送本地main分支到远程origin的main 分支
如果提示你应该git pull ...,你就 git pull 一下(比如你创建的并不是一个空仓库的时候)
git pull是先把远程分支合并到本地对应的分支
如果远程分支没有更新过,才可以省略

注意:后三步需要在github创建一个空的仓库。
要创建.gitignore 填写提交时需要忽略的文件名

git push 提交到远程仓库

如何上传其他分支
方法一
git push origin x:x #前一个是源头,后一个是目标,即本地的x分支到远程的x分支
方法二
git checkout x
git push -u origin xxx 提交xxx分支到远程仓库

下载代码\

  • git clone git@xxxxx[目标路径]
  • git clone git@xxxxx[目标路径] yyy 会在本地新建yyy目录,记得cd yyy
  • git clone git@xxxxx[目标路径] . 最后一个字符是点,注意有空格
    不会新建目录,使用当前目录容纳代码和.git
    当前目录一开始最好是个空目录