git复习

来源:互联网 发布:防抖插件mac 编辑:程序博客网 时间:2024/06/05 13:29

由于公司用TFS很久没有用过git了 一些常用的命令难免忘记。特此整理一下。方便以后查找

推荐此篇文章很详细

整理补充:
标识用户

git config --global user.name "maobo"git config --blobal user.email "maobo@live.cn"

初始化一个仓库

git init

执行完目录下会多一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了

文件添加到暂存区

git add filename

没有任何提示,说明已经添加成功了。

查看文件状态

git status

提交

git commit -m "这里写提交注释"

查看文件差异

git diff filename

版本回退

查看提交记录

git log

回到到指定版本

git reset --hard 3u7d8e6d //3u7d8e6d  为查看提交记录时的版本号前几位

撤销修改

git checkout -- filename

此操作将会丢弃未放入暂存区的所有修改(相当于检出库中版本覆盖了本地也可用于恢复被删掉的文件)
引用一张图说明
这里写图片描述
注意:命令git checkout – readme.txt 中的 –很重要,如果没有 –的话,那么命令变成创建分支了。

删除文件

直接删掉后commit

恢复删掉的文件

 git checkout  -- filename

比较好玩的部分来了
远程仓库

先决条件 需要有github账号
1、创建SSH KEY
执行

ssh-keygen -t rsa -C "你的邮箱账号"

成功后用户目录下有.ssh的目录 存在id_rsa和id_rsa.pub这两个文件
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
2、第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。
引用一张图片说明
这里写图片描述

下面的此篇文章讲得很详细就不细说了

把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。

第一次推送

git push -u origin master

由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

git remote

要查看当前配置有哪些远程仓库,可以用 Git remote 命令,它会列出每个远程库的简短名字.在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库
(1)git remote 不带参数,列出已经存在的远程分支

  $ git remote

  origin

(2)git remote -v 列出详细信息,在每一个名字后面列出其远程url

此时, -v 选项(译注:此为 –verbose 的简写,取首字母),显示对应的克隆地址:

从远程仓库克隆

git clone  "远程仓库地址"

分支管理

创建并切换分支

git checkout -b dev

查看当前分支

git branch

说明:git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令

git branch dev

git checkout dev

git branch查看分支,会列出所有的分支,当前分支前面会添加一个星号。

合并分支
切换到master分支上执行

git merge dev 

在master分支上合并dev分支内容
git merge命令用于合并指定分支到当前分支上

删除dev分支

git branch -d dev

总结:
查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout –b name

合并某分支到当前分支:git merge name

删除分支:git branch –d name

解决冲突

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容

分支策略:首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

Git基本常用命令如下:

mkdir: XX (创建一个空目录 XX指目录名)

pwd: 显示当前目录的路径。

git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。

git add XX 把xx文件添加到暂存区去。

git commit –m “XX” 提交文件 –m 后面的是注释。

git status 查看仓库状态

git diff XX 查看XX文件修改了那些内容

git log 查看历史记录

git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一个版本

                    (如果想回退到100个版本,使用git reset –hard HEAD~100 )

cat XX 查看XX文件内容

git reflog 查看历史记录的版本号id

git checkout — XX 把XX文件在工作区的修改全部撤销。

git rm XX 删除XX文件

git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库

git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库

git clone https://github.com/tugenhua0707/testgit 从远程库中克隆

git checkout –b dev 创建dev分支 并切换到dev分支上

git branch 查看当前所有的分支

git checkout master 切换回master分支

git merge dev 在当前的分支上合并dev分支

git branch –d dev 删除dev分支

git branch name 创建分支

git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作

git stash list 查看所有被隐藏的文件列表

git stash apply 恢复被隐藏的文件,但是内容不删除

git stash drop 删除文件

git stash pop 恢复文件的同时 也删除文件

git remote 查看远程库的信息

git remote –v 查看远程库的详细信息

git push origin master Git会把master分支推送到远程库对应的远程分支上

原文参考
http://blog.jobbole.com/78960/

0 0
原创粉丝点击