(1)Linux安装 git Debian或Ubuntu Linux,通过如下命令就可以直接完成Git的安装
sudo apt-get install git
(2)win 安装 git 从 git 官网下载安装程序
(3)安装完成后。配置全局
git config --global user.name "Your Name" git config --global user.email "[email protected]"
(4)创建版本库 执行:
git init
执行完毕后,当前目录下会多了一个 .git 文件
(5)把代码提交到远程库
a. 告诉 git,要添加的文件,把文件修改 添加到暂存区,可以执行此命令多次
git add .
b. 把暂存区的内容提交到当前分支
git commit –m “提交备注”
c. 把本地库中的文件提交到远程仓库
git push origin master(分支名)
(6)查看仓库的当前状态(eg:哪个文件被修改了)
git status
(7)查看当前仓库某个文件修改了什么内容
git diff 文件名
(8)查看历史提交日志
git log
(9)版本回退
a.回退到上一个版本 git reset --hard HEAD^
b.回退到某版本 git reset --hard 3628164
c.回退到某版本后又想到新版本:(1)git reflog 记录了每次执行的命令 (2)找到 append GPL 的 commit id进行回退即可
(10)放弃工作区的修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令:
git checkout -- file
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步:
第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
注:git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
(11)删除文件 git add 添加一个文件后,然后在本地把文件删除了,此时:
如果你想把文件从版本库中彻底删除: rm test.txt 删错之后想把文件恢复到最新版本:git checkout -- test.txt 注:你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
(12)本地和 GitHub关联
a.查看本地用户目录下有没有.ssh 目录,.ssh 目录下有没有 id_rsa和 id_rsa.pub这个梁哥文件
b. a 步骤没有,执行如下命令,然后一路回车即可: $ ssh-keygen -t rsa -C "[email protected]"
c.登录 GitHub,打开 Account settings-》SSH Keys 的页面 然后点击『Add SSH Key』 填上任意的 Title,在 Key 文本框里粘贴 id_rsa.hub 文件的内容
(13)添加 github 远程库
a. 登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库
b.本地关联远程库: $ git remote add origin [email protected]:michaelliao/learngit.git
c.把本地内容推送直远程库 $ git push -u origin master 第一次推送,需要加上 –u 这个参数
之后可以:git push origin master 默认是推送至 master分支:也可以 git push
(14)ssh 警告: 当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告。
(15)git 从远程库克隆代码,其中Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
git clone [email protected]:michaelliao/gitskills.git
(16)创建并切换到某分支 $ git checkout -b dev 相当于执行了两条命令:
a. git branch dev
b. git checkout dev
(17)查看当前分支 git branch
(18)合并分支 假设当前分支是 dev,要合并到 master 分支上: git merge master
(19)删除分支 $ git branch -d dev
(20)git log 也可以查看分支的合并情况
git log --graph --pretty=oneline --abbrev-commit
(21)git 冲突及解决 合并时当修改了同一个文件就会存在冲突 git status 展示产生冲突的文件 可以找到相应的文件后,再 add 和 commit 和 merge
(22)多人协作模式的模拟
1. 首先,可以试图用git push origin branch-name推送自己的修改;
2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3. 如果合并有冲突,则解决冲突,并在本地提交;
4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
(23)查看远程库的信息
git remote –v
(24)git 创建标签 a.首先切换到需要打标签的分支上
b.执行如下命令 git tag v1.0
(25)历史版本打标签
git tag v0.9 版本id
(26)查看标签信息
git show v0.9
(27)标签的其它操作
a.git tag查看所有标签
b.git tag –d v0.1删除标签
c.git push origin v1.0
d.一次性推送所有标签:git push origin –tags
e.删除已推送直远程的标签:需要先删除本地标签,再删除远程标签 先 git tag –d v0.9 然后 git push origin:refs/tags/v0.9
(28)git 提交时忽略一些文件 在 Git 工作区的根目录创建一个 .gitignore 文件,把要忽略的文件名填写进去,Git 就会自动忽略这些文件了
强制添加某文件:
git add –f 文件名