初始化
- 在你的项目目录中输入git init
- 设置签名
-- 用户名:
-- Email Address:
区别开发人员的身份
项目级别/仓库级别:仅在本地范围内有效
git config user.name sylar
git config user.email sss@aliyun.com
信息位置:当前项目的.git/config
用户级别:登录当前系统的用户范围
git config --global user.name sylar_glb
git config --global user.email sss@aliyun.com
信息位置:当前Home目录.gitconfig
项目级别优先
git 常用操作
git status
查看工作区,暂存区的状态
git add
将工作区的文件加到暂存区
git commit -m "message" [filename]
将暂存区文件提交到仓库
查看历史版本记录
git log
git log --pretty=oneline '显示 一行'
git log --poneline '显示一行更少'
git reflog '显示 一行 和移动的次数
回滚
1,通过索引
git reset --hard indexnumber
2,^只能相后退
git reset --hard HEAD^ '退几步就用几个^
3,~退几步
git reset --hard HEAD~3
git reset 3个参数
--soft 仅在本地库移动HEAD指针
--mixed 在本地库移动HEAD,重置暂存区
--hard 移动HEAD指针,重置暂存区和工作区
git diff good.txt '比较和暂存区的差异'
git diff HEAD good.txt '比较和仓库的差异'
git diff HEAD^ good.txt '比较和仓库历史版本的差异'
比较多个文件时不用加文件名就行
git branch -v '查看所以的分支'
git branch hot_fix
git branch -v
git checkout hot_fix
合并分区
1,git checkout master 到被合并分区
2, git merge hot_fix
产生冲突时,
文件里有修改
产生冲突时,冲突文件里有修改,在修改完文件之后 ,
git commit -m "resolve conflict"
git remote -v
git remote add origin https://github.com/***.git 'origin别名'
git push origin master
git clone https://github.com/***.git 'origin别名'
git push origin master
拉取项目
git checkout origin/master
git merge origin/master
git push master
push=fetch + merge
发生冲突时
get pull origin master
git push origin master
实际操作:
vim good.txt
git status
git add good.txt
git rm --cached file
git status
git commit good.txt
:set nu
My first commit file
git status
vi good.txt '修改文件,修改的文件可以直接commit git commit -a
git status
git checkout -- file
免密登陆
cd ~/
rm -r .ssh/
ssh-key -t rsa -C email@email.com
cd ~/.ssh
cat id_pub.pub
git remote add origin_ssh git@github.com:sylar8/test.git
git remote -v
git push origin_ssh master
wechat:creathinFeng