Git简介
一、 安装
下载地址:
https://git-scm.com/downloads;
https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit
二、 基本命令
创建一个版本库:
新建一个空文件夹,在该文件夹路径运行命令(git init)
mkdir leangit
cd leangit
git init
把文件添加到版本库:
- 要添加的文件或文件夹放入版本库中
- 执行:git add filename 或 git add dirname(文件添加到仓库)
- 再执行:git commit –m “本次提交的说明”(文件提交到仓库)
所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区
查看创库当前的状态:git status
查看文件修改前后比较:git diff filename
查看提交历史:git log(可以查看版本号)
查看命令历史:git reflog
版本回退:
回退到上一个版本:git reset –hard HEAD^ 或 git reset –hard HEAD~1
回退到特定版本:git reset –hard commitId(版本号或版本号前几位)
丢弃工作区的修改:git checkout -- filename
有两种情况:
- 文件修改后还没有被放到暂存区,现在撤销修改就回到和版本库一模一样的状态
- 文件已经添加到暂存区后,又做了修改,现在撤销修改就回到添加到暂存区后的状态
把暂存区的修改撤销掉:git reset HEAD filename
从版本库中删除文件:git rm filename 再执行 git commit –m “add some filename”
删除错误,从版本库中恢复文件:git checkout -- filename
三、 本地Git仓库和GitHub仓库之间的传输(通过SSH加密的)
注册GitHub账号
- 创建SSH Key
Windows下打开Git Bash:执行ssh-keygen -t rsa -C "youremail@example.com"
- 登录GitHub添加SSH Keys
关联一个远程库:git remote add origin git@server-name:path/repo-name.git
第一次推送master分支的所有内容:git push –u origin master
推送最新修改:git push origin master
克隆远程库至本地:git clone gitpath(远程库地址)
四、 分支操作
查看分支:git branch
创建分支:git branch branchname(分支名称)
切换分支:git checkout branchname(分支名称)
合并某分支到当前分支:git merge branchname或git merge –no-ff –m “message” branchname
删除分支:git branch –d branchname
把当前工作现场“储藏”起来,等以后恢复现场后继续工作:git stash
查看存储的工作现场:git stash list
用git stash apply恢复,再用git stash drop删除 或 执行git stash pop
- 查看远程库信息,使用git remote -v;
- 本地新建的分支如果不推送到远程,对其他人就是不可见的;
- 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
- 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
- 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
- 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
Git remote 修改源
git commit -m "Change repo." # 先把所有为保存的修改打包为一个commit git remote remove origin # 删掉原来git源 git remote add origin [YOUR NEW .GIT URL] # 将新源地址写入本地版本库配置文件 git push -u origin master # 提交所有代码