git 配置
查看全局配置
git config --global --list
更改全局配置
git config --global user.name "ivan.ge"
git config --global user.email "ivange@163.com"
git工作区域
git的本地有三个工作区域:工作目录、暂存区、本地仓库,一个远程工作区域:远程仓库
git文件状态
- Untracked 未跟踪。没有加入到git库,通过git add变为staged。
- Unmodify 文件入库,未修改。更改文件会变成Modified,使用git rm会变成Untracked
- Modified 文件修改。通过git add 变成staged,使用git checkout 丢弃修改变成Unmodify
- Staged 暂存状态。通过git commit同步到本地库,变成Unmodify状态,执行git reset HEAD filename 曲线暂存,变成Modified
git忽略文件设置
在主目录下建立.gitignore文件,规则为
- #为注释
- 可以使用通配符,*代表任意多个字符,?代表一个字符,[]代表可选字符范围
- !代表不被忽略
- 名称前面用/,代表忽略与当前目录同等级的其他目录
- 名称后面用/,代表忽略当前目录的子目录
使用SSH
# 生成公钥
ssh-keygen
默认会在默认是 .ssh 目录中生成id_rsa 和id_rsa.pub 两个文件,其中.pub 是你的公钥,另一个是对应的私钥。
-
将公钥粘贴到远程仓库的SSH Key处。 -
将远程仓库与本地联系起来
# 要用ssh的方式下载,不要用http方式
git clone git@github.com:ivan-ge677/MachineLearning.git
常用命令
初始化git仓库
git init
从远程仓库中克隆
git clone [url/ssh]
查看仓库状态
git status
添加到暂存区中
git add <filename>
git add .
提交到本地仓库
git commit -m <message>
提交到远程仓库
git push
查看日志
git log
git log --pretty=oneline git log --oneline
git reflog
版本前进后退
git reset --hard <索引值>
git reset --hard HEAD^
git reset --hard HEAD~n
git reset --soft <索引值>
git reset --mixed <索引值>
git reset --hard HEAD
比较文件差异
git diff <filename>
git diff HEAD <filename>
git分支
列出所有本地分支
git branch -v
列出所有远程分支
git branch -r
新建一个分支,但依然停留在当前分支
git branch [branch-name]
切换分支
git checkout [branch]
新建一个分支,并切换到该分支
git checkout -b [branch]
合并指定分支到当前分支
git merge [branch]
当两个分支对同一个文件的同一处都进行了修改,合并的时候会发生冲突
git 远程仓库
为远程仓库添加别名origin
git remote add origin <远程地址>
查看远程仓库
git remote -v
推送到远程仓库
git push origin master
将远程库克隆到本地(克隆之后,会将仓库的别名origin也添加好)
git clone <远程地址>
拉取远程仓库
git fetch origin master
git merge origin/master
git pull origin master
|