Git 是 Linus Torvalds 于2005年为了帮助管理 Linux 内核开发而开发的一个开放源码的版本管理软件。版本管理是指管理更新的历史记录,git的这种特性使源代码的发布和交流极其方便html
git经常使用命令git
1-初次运行 Git 前的配置github
设置用户信息缓存
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱号码"复制代码
检查配置信息安全
git config --listbash
原理:服务器
Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。ssh
这些变量存储在三个不一样的位置:ide
2-在本地建立git仓库,跟踪新增文件,提交文件工具
本地仓库由 git 维护的三棵“树”组成。第一个是你的 工做目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,它指向你最后一次提交的结果。
step 1: 进入想要建立git仓库的文件夹
cd dir
step 2:建立git仓库
git init
step 3: 添加改动,如新增文件
step 4:查看git状态
git status
step 5:跟踪文件
git add file 跟踪某个文件
git add . 跟踪全部文件
step 6:提交更改
git commit - m "提交信息"
例如,我在gittest文件夹里新建一个git仓库,跟踪新增的1.md文件并提交
3-查看本地仓库的历史操做记录
基础命令:git log
退出命令:Q
在上面的基础命令以后还能够添加参数来实现更具体的查询
git log --help
git log --author=想查看的人名称
4-将github上的好项目保存到本地
step 1: 进入你要放项目的文件夹
step 2:将远程仓库文件克隆到本地
git clone /path/to/repository
而后你就能够在文件里愉快的玩耍啦~
5-提交本地文件到远程github仓库*
step1: 在本地文件夹里添加远程仓库地址,并查看是否添加成功
git remote add origin
git remote -v
step 2 :跟踪文件
git add .
step 3: 提交文件
git commit -m "提交信息"
step 4: 推送本地文件到远程仓库
git push origin master
例如,我将我本地的gittest文件夹提交到github里的learn-git仓库里
6-将远程仓库的更新取回本地
法一:
step 1: 查看远程分支
git branch -r
step 2: 取回分支
a-远程全部分支的更新复制代码
git fetch
b-取回特定分支的更新复制代码
git fetch <远程主机名> <分支名>
step 3: 比较本地的master分支和origin/master分支的差异
git log -p master..origin/master 或者 git diff
注:按Q退出
step 4: 将取回的远程分支和本地的分支进行合并
git merge origin/master
法二:
命令-git pull origin master
原理: git pull使用给定的参数运行git fetch,并调用git merge将检索到的分支头合并到当前分支中。 使用--rebase,它运行git rebase而不是git merge。
在实际使用中,git fetch更安全一些
由于在merge前,咱们能够查看更新状况,而后再决定是否合并
结束
例如,我在github上的learn-git仓库里远程添加一个README.md文件,并将其取回到本地
7-修改本地改动
命令:git reset HEAD filename 或者 git reset filename
修改commit信息
修改最后一次commit : git commit --amend
修改非最后一次的commit : git rebase -i HEAD~第几条记录复制代码
8-HTTPS和SSH方式的区别和使用
A-SSH方式
SSH主要用于远程登陆,将登陆信息所有加密,这是一种相对安全的方式
step 1: 检查你的电脑上是否已经生成了SSH Key
cd ~/.ssh ls
step 2: 若没有,建立一个SSH Key
ssh-keygen -t rsa -C "你的email地址"
step 3: 添加SSH Key到Git服务器
git remote rm origin
git remote add origin "Git仓库的ssh格式地址"
git push origin
B-http方式
此方法相较起来简单一些,copy https url,而后到git Bash里面直接用clone命令克隆到本地就行了,可是每次fetch和push代码都须要输入帐号和密码.
本文永久更新地址:github@WolfGirlM