git
Posted jizizh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git相关的知识,希望对你有一定的参考价值。
-----开始
1.创建一个空目录为:工作区,通过git init命令把这个目录变成Git可以管理的仓库:
2.如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -a命令就可以看见。
3.第一步,用命令git add .告诉Git,把文件添加到仓库:这里存的是:暂存区
4.第二步,用命令git commit -m "注释"告诉Git,把文件提交到仓库:git版本库
注释:本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
5. 要随时掌握工作区的状态,使用git status命令。
6.如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
-----版本回退
1.git log命令显示从最近到最远的提交日,按pageup和pagedown进行翻页查看log
2.Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^。
两种版本回退方式:
git reset --hard HEAD^
git reset --hard 1094a //1094a是commit_id版本号
切换前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返,用git reflog查看命令历史,以便确定要回到未来的哪个版本
----撤销修改
1.git checkout .可以丢弃工作区的修改
2.当你不但改乱了工作区某个文件的内容,还add添加到了暂存区时
第一步用命令git reset HEAD ,第二步git checkout .。
3.已经提交了不合适的修改到版本库时,请版本回退。
-----删除文件
1.rm命令删了文件,git status命令会立刻告诉你哪些文件被删除了
2.这时现在你有两个选择:
一是确实要从版本库中删除该文件,那就用命令git rm file删掉,并且git commit -m "remove file":
二是用git checkout . 恢复
二.-----建立github远程仓库
不在github建立的话就在服务器上建立git目录
git init --bare test.git
git remote add master [email protected]域名
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C"[email protected]"
2.生成id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
3.登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
4.我们根据GitHub的提示,在本地的git仓库下运行命令:
$ git remote add origin [email protected]:jizizihe/jzzh.git
5.把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程
git push -u origin master
6.把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库
git push origin master
7.创建远程库有远程库就不创建,然后,从远程库克隆
git clone [email protected]:jizizihe/gitskill.git
三.-----建立github分支管理
1.我们到目前只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支
2.当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上
3.查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
4.Git用<<<<<<<,=======,>>>>>>>标记出出错的内容,我们修改后保存再合并
5.查看远程库信息,使用git remote -v;
6.$ git config --global color.ui true 显示颜色
7.当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
8.开发一个新feature,最好新建一个分支;如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。
git checkout -b feature
9.多人协作的工作模式通常是这样:
1. 首先,可以试图用git push origin <branch-name>推送自己的修改;
2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3. 如果合并有冲突,则解决冲突,并在本地提交;
4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
这就是多人协作的工作模式,一旦熟悉了,就非常简单
以上是关于git的主要内容,如果未能解决你的问题,请参考以下文章