git
git官网下载: https://www.git-scm.com/download/win
ssh 连接
生成密匙: ssh-keygen -t rsa -C "email"
在~/.ssh中生成了key,把.pub复制到github的setting中
测试: ssh -T git@github.com

git status 查看文件在工作区还是暂存区还是仓库
git add 将文件从工作区提交到暂存区
git commit -m 提交描述 将文件从暂存区提交到仓库
git初始化及仓库创建和操作
基本信息设置
- 设置用户名
git config --global user.name 'name' - 设置用户名邮箱
git config --global user.email 'email'
也可以编辑~/.gitconfig
初始化一个新的git仓库
- 创建文件夹
- 在文件内初始化git (创建git仓库)
cd folder
git init
生成了.git文件,存着本地仓库的信息。
向仓库添加文件
- 新建文件
git add filename提交到暂存区git commit -m '提交描述'提交到git仓库
修改文件
修改后
git add filename提交到暂存区git commit -m '提交描述'提交到git仓库
删除仓库文件
删除工作目录文件后
git rm filenamegit commit -m '提交描述'提交到git仓库
git管理远程仓库
git push 把本地仓库同步到远程仓库
git克隆操作
将远程仓库复制到本地
git clone 仓库地址
查看config: git config --list
设置账号密码
.git/config
[remote "origin"]
url = https://用户名:密码@github.com/Feibilun/test.git
修改url 使用git协议:
[remote "origin"]
url = git@github.com:Feibilun/test.git
fetch = +refs/heads/*:refs/remotes/origin/*
其他指令
git log 查看日志

git log --all --graph --decorate

git cat-file -p hash




git checkout hash



git checkout hello.txt 忽略head之后的修改,把文件变回head时的状态
git diff 显示上次snapshot之后的变化



(两次之间)
branch
git branch 查看当前有什么分支。
git branch -vv 详细信息
git branch cat 新建cat分支。

git checkout cat 转到cat分支

(cat,master的commit 的id是一样的)
在cat分支做改动后commit:

再checkout到master:

git checkout -b dog 新建并转到dog分支。

修改源文件增加dog function, 并commit

转到master,并merge cat
git checkout master
git merge cat


此时源代码:

接下来merge dog,会报错,修改后,git add, git merge --continue

git merge --abort 取消merge。
git remote
git remote add origin ../remote origin是r给emote起的名字
git push origin master:master
git branch --set-upstream-to=origin/master and git push
git remote add origin1 git@github.com:Feibilun/remote.git
git push origin1 master
git clone
git clone ./remote demo2
git clone --shallow 浅拷贝。
git fetch
取得origin的commit
git pull相当于git fetch + git merge
编辑.gitignore文件指定忽略哪儿些文件。
比如在里面写 *.o
reference
watch?v=2sjqTHE0zok

浙公网安备 33010602011771号