一、Git 配置
配置全局的name和email
- git config --global user.name “ “
- git config --global user.email “ “
生成SSH公钥
ssh-keygen -t rsa -C “...email@...”user.email “...email@...”
进入github配置密钥
拷贝C:/Users/Administrator/.ssh/id_rsa.pub文件中的所有内容到SSH keys
.gitignore
用来告诉Git忽略哪些文件,不要将其加入到追踪列表
二、Git常见操作指令
1. git init 初始化一个本地仓库,生成一个.git文件
2. git clone [~ssh://~] 拷贝一个远程仓库
3. git add [file1][file2]... 添加文件到暂存区
git add a.txt readme.md 添加某些文件到暂存区
git add [dir]/ 添加指定目录到暂存区
git add . 添加当前目录下的所有文件到暂存区
4. git status 查看仓库当前的状态,显示有变更的文件
5. git commit 提交暂存区到本地仓库
git commit -m [message] message为备注信息
git commit [file1][file2]... 提交暂存区的指定文件到仓库区
git commit -a -a设置修改文件后,不需要执行git add命令,即可提交
6. git remote add origin ~ //要添加一个新的远程仓库
7. git push origin master //上传至远程仓库
8. git rm [file1] //删除某个文件或文件夹
git rm -r --cached a/1.txt // -r参数删除目录,--cached保留本地文件
git commit -m “删除a目录下的1.txt文件”
git push //上传至远程仓库
9. git mv -f oldname newname //修改某个文件的名字
10. git fetch //用于从远程获取代码库
git fetch [alias] git fetch origin
11. git merge //从远程仓库提取数据并尝试合并到当前分支,将更新同步到本地:
git merge [alias]/[branch] git merge origin/master
12. git pull --rebase origin master //rebase命令将提交到某一分支上的所有修改移至另一分支上;
git pull = git fetch + git merge FETCH_HEAD
git pull --rebase = git fetch + git rebase FETCH_HEAD
rebase没有产生新的节点,使用rebase的git演进路线(提交树)是一直向前的;而merge是产生一个新节点;
rebase 操作如果冲突的话,会中断rebase,同时会提示去解决冲突。解决冲突后, 再执行 git rebase –continue 继续操作,再push;
13. git branch 查看分支
git branch [“newbranch”] 新建一个分支
git checkout [“branch”] 切换分支
删除之前需要先切换到其他分支
git branch -d [“branch”] 删除分支
git push -d [“ ”] 删除远程分支
14. 如果我们错误地添加了文件或改动到暂存区,可以执行命令撤销
git reset HEAD index.html
这里的HEAD就是指向当前分支的一个指针
15. git clone 不清楚如何克隆仓库中的单个或多个文件夹,而不是全部的仓库:
例如:test仓库https://github.com/~,要git clone一下test仓库里面的code / react_demo/prepare/hello-comment子目录:
git config core.sparsecheckout true //设置允许克隆子目录
echo 'code/react_demo/prepare/hello-comment*'>> .git/info/sparse-checkout //设置要克隆的仓库的子目录路径
git remote add origin [git@~要克隆的仓库地址]
git pull origin master //下载到本地