Git

靶场

windows使用git

下载git

https://git-scm.com/

配置git

git config --global user.name "hy"
git config --global user.email "598779784@qq.com"

方式一:公钥形式

 ssh-keygen -t rsa -C "github邮箱"  

这个邮箱是github发邮件用的

在C盘.ssh目录找到公钥复制到github

 

 

找到某个仓库的git地址

方式二:本地手写用户密码形式

 进入到某个目录,把git仓库拉取下来,此时能在本地Git目录下看到一个仓库名的目录

仓库操作

仓库下含有.git文件,把要提交到github的文件copy过来,可以进行git命令操作了

 

Git常用命令

git diff  //可以对比本次修改了什么内容,相比较仓库里面的版本

git status //查看是否状态更改

创建版本库

mkdir  /home/gitroot
cd !$
git init   //用这个命令初始化,让这个目录变成git可以管理的仓库

 

[root@hy2 ~]# cat .gitconfig 
[user]
name = hy2
email = 598779784@qq.com

 

[root@hy2 gitroot]# ls .git/
branches config description HEAD hooks info objects refs
View Code

提交文件到仓库

git add 1.txt  //把1.txt添加到仓库中
git commit -m "add new file 1.txt"   //add完了必须要commit才算真正把文件提交到git仓库里

删除仓库文件

git rm 1.txt
git commit -m "delete 1.txt" 

撤销

回到上一次提交时的状态:

git checkout -- 1.txt   

已经add,未commit

git  reset HEAD 1.txt
git checkout -- 1.txt

回到任意一次提交的状态:

git log  //可以查看所有提交git仓库的记录操作
git log --pretty=oneline  //一行显示,更清楚 

git reset --hard 0ff5ab1  //可以回退到第二行的这个版本,这里后面跟的字符串可以简写。
当回退到该版本后,再  git log 则最上面的版本不再显示了,那如果想再倒回退到第一行那个版本怎么办?
git reflog  //可以显示所有的版本
View Code

远程仓库管理

本地到远程

首先到 https://github.com 注册一个账号,创建自己的git,点repositories  --> new
名字自定义,比如叫studygit  选择public  点 create repository

添加key:
右上角点自己头像,选择settings,左侧选择SSH and GPG keys
右上角点New SSH key,把linux机器上的 /root/.ssh/id_rsa.pub内容粘贴到这里

把本地参考推送到远程仓库
git remote add origin git@github.com:ecithy/studygit.git
git push -u origin master
下一次再推送,就可以直接 git push 
View Code

远程到本地

git clone  git@github.com:ecithy/studygit.git

 分支管理

父分支看不到子分支文件,子分支能看到父分支文件

查看分支
git branch

创建分支
git branch hy
git checkout  hy

切换分支

git checkout master

合并分支(在目标分支下)

git merge  指向目标分支
git rebase 直接跳到目标分支的后面

如果父分支和子分支都对同一文件进行了编辑,内容不一致无法合并

 删除分支 
git branch -d aming //删除分支 如果分支没有合并,删除之前会提示,那就不合并,强制删除 git branch -D aming

  

使用分支的原则

对于分支的应用,建议大家以这样的原则来:

master分支是非常重要的,线上发布代码用这个分支,平时我们开发代码不要在这个分支上。

创建一个dev分支,专门用作开发,只有当发布到线上之前,才会把dev分支合并到master 开发人员应该在dev的基础上再分支成个人分支,个人分支(在自己pc上)里面开发代码,然后合并到dev分支

 8. 保留现场

当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。

比如我们在hy分支,编辑了一个新的文件3.txt
这时候我们需要到其他分支去修复一个bug,所以需要先git add 3.txt
然后 git  stash  保存一下现场
再切换到另外分支去修复bug,修复完bug后,再回到aming分支
git stash list 可以看到我们保存过的现场
用 git stash apply 恢复现场
也可以指定stash:
git stash apply stash@{1}
View Code

 

posted @ 2017-02-14 22:46  沐风先生  阅读(301)  评论(0编辑  收藏  举报