git笔记

git config –global user.name “helen”
git config –global user.email “321171337@qq.com
表示你这台机器上所有的Git仓库都会使用这个配置

SSH配置

cd ~/.ssh 进入ssh目录
ls 查看ssh目录
ssh-keygen -t rsa -C “**@qq.com” 一路回车,使用默认值即可 生成ssh
cat ~/.ssh/id_rsa.pub 查看ssh
将ssh复制到git服务器上的个人设置SSH keys里

进入项目目录–>git clone git@***.git 克隆项目–>进入克隆的项目的文件夹->git pull/push等操作可以用了

或者
git init 初始化该项目为仓库
git remote add origin git@***.git 对该项目与远端仓库关联

将feature分支的修改合并到本地主分支中并上传到远程仓库:
git checkout dev—>git merge feature–>git add .—>git commit -m ‘dd’—>git push origin master

将本地分支与远程同名分支关联
git push –set-upstream origin 之后就可以直接使用git push

git add . 将工作区的修改存到.git版本库的暂存区Stage中
git commit -m ‘dd’ 将暂存区的修改提交到当前分支中

git push -u origin master 第一次推送master分支时,加上了-u参数,在以后的推送或者拉取时就可以简化命
git branch –set-upstream-to=origin/paging 设置本地分支与远程paging分支关联

分支

git checkout -b 创建分支并切换到该分支
git checkout 仅是切换到该分支
git checkout .
git branch 创建分支
git branch -d 删除本地分支
git branch -D 强行删除没有被合并过的分支
git merge –no-ff -m “描述” 合并分支, 禁用Fast forward,并提交一个commit

删除远程分支

1) git branch -r -d origin/
git push origin :
2) git push origin –delete

从远程拉取新的分支

1)git pull 在任意分支上更新,该操作会把所有分支的变化情况返回
git checkout 新分支名 切换到新分支
2)git checkout -b origin/ 创建远程分支branchName到本地,创建本地分支branchName
and then : git pull 更新新分支代码

Bug分支中,stash应用

git stash 把当前工作现场“储藏”起来
git stash list 查看工作现场
恢复:1)git stash apply -> git stash drop
2 ) git stash pop 恢复并删除
多次stash情况:git stash list -> git stash apply stash@{0} 恢复指定stash

撤销

1)文件被修改了,但未执行git add操作(working tree内撤销)
git checkout fileName
git checkout .
2)同时对多个文件执行了git add操作,但本次只想提交其中一部分文件
git add *
git status

取消暂存

git reset HEAD
3)文件执行了git add操作,但想撤销对其的修改(index内回滚)

git reset HEAD fileName

撤销修改

git checkout fileName
4)修改的文件已被git commit,但想再次修改不再产生新的Commit

修改最后一次提交

git add sample.txt
git commit –amend -m”说明”
5)已在本地进行了多次git commit操作,现在想撤销到其中某次Commit
git reset [–hard|soft|mixed|merge|keep] [commit|HEAD]

git本地分支和远程分支改名

1 将本地分支进行改名

git branch -m old_branch new_branch

2 将远程分支的老分支删除

git push origin :old_branch

3 将改名后的分支push到远程

git push origin new_branch

git回退到某一版本号
git log 查看版本号
回退到该版本号: git reset –hard <版本号>
git reflog 来查看每一次命令的记录
回退到最新分版本号:git reset –hard <版本号>

丢弃已经add的文件:
git checkout .

丢弃没有add的文件(untracked)
查看将要删除的文件:git clean -nf
删除文件及文件夹: git clean -fd