git使用

一.Git命令(bash)

一.1.安装

Linux:先从Git官网下载源码,然后解压,依次输入:./config,make,sudo make install这几个命令安装就好了

Window:从官网下载安装即可。https://git-scm.com

Window版安装完后,右键菜单下出现两个git功能,git bash(命令)和git gui(界面)。我们推荐使用命令操作

一.2.配置用户名和密码

用于提交代码

git config --globaluser.name "Your Name"

git config --globaluser.email"[email protected]"

注意:

加上global,所有的系统都会使用这个账号,也可以在每个项目中使用不同的用户,去掉global在项目下运行命令即可。

一.3.创建git项目

在你想要使用git控制版本的项目目录下,执行git init,会将这个项目纳入到git管理。(目录下会多出个.git的文件夹,类似svn)

一.4.添加项目到git仓库

第一步:加入到暂存区,git addreadme.txt

第二步:将暂存区提交,git commit-m“写段注释”


git使用_第1张图片

我们可以时刻看看暂存区是否有代码要提交,git status,类似于svn的同步

上图表示修改过readme.txt,但是还没有提交。

我们还可以使用git diff文件名来查看该文件修改过什么地方了。

一.5.查看历史记录

git log [--pretty=oneline  --graph ]


前面一大段字符串是版本id,后面1.txt commit是本次操作

一.6.回退到历史记录

git reset --hardHEAD^

Head在git里表示最新版本的意思head^表示上一个版本。

如果要会退到指定版本,那么可以先查一下历史记录,找到要回到的版本号

git log [--pretty=oneline  --graph ]

接着执行回退命令

git reset --hard3628164

3628164是版本号,不用写全,写几位就可以了,git会自动匹配,也不要写太少,否则会有多个版本

git reset --hard52918e

如果想从历史版本回到最新版,现在历史记录git log已经查不到了,但是通过命令

git reflog可以查到,接着执行命令git reset --hard

一.7.撤销修改

git checkout -- file或者

git reset HEAD file退回到该文件最新版本

一.8.删除文件

git rm文件并且提交git commit

如果删除还没有提交,还可以还原

git checkout--文件名

如果删除提交了,只能用回复历史记录了git reset --hard 版本号

一.9.远程仓库

一.9.1.远程仓库授权代码提交权限

如果远程项目开源,可略过此步

参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374385852170d9c7adf13c30429b9660d0eb689dd43a000

第1步:创建自己的公钥SSH Key

ssh-keygen -t rsa -C"[email protected]"

第2步:登陆远程服务器如GitHub,打开“Account settings”,“SSH Keys”页面

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容


git使用_第2张图片

点“Add Key”,你就应该看到已经添加的Key:


git使用_第3张图片

一.9.2.添加到远程库

取得远程仓库的地址如:[email protected]:xxx/learngit.git

关联远程仓库

git remote add origin [email protected]:xxx/learngit.git

把本地内容推送到远程仓库(第一次推送加-u,这样会将本地的master和远程master关联)

git push -u origin master

以后再提交就不需加-u

git push origin master

一.9.3.从远程仓库下载(克隆)

git clone [email protected]:xxx/gitskills.git

注意:一般的git都会有多种协议 如https  ssh  git等

一.10.分支管理

一.10.1.创建和合并分支

Git默认一个master分支(主分支)


git使用_第4张图片

我们来创建一个dev分支

git checkout -b dev

Git checkout:创建  加上-b表示创建后切换到dev

等价于:git branch dev   git checkout dev


git使用_第5张图片


我们看到所在的分支后面的任何操作都是在当前分支下操作,不会影响其他分支


git使用_第6张图片

如上图,dev下我们开发的代码已经是最新版里,但是master是旧的,我们需要将dev合并到master主分支上

首先:切换回主分支git checkoutmaster

然后:执行合并git mergedev

接着:合并完后,dev其实没用了,可以删除git branch -ddev

一.10.2.解决冲突

同svn冲突一样,git也会出现冲突,当多个分支代码都更新后


git使用_第7张图片

如上图,分支master和分支feature1都修改了一个文件并且提交

这个时候任意一个分支执行合并都会出现冲突

<<<<<<

=======CreatinganewbranchisquickANDsimple.

>>>>>>> feature1

解决一个分支后继续提交即可,如下


git使用_第8张图片

看一下历史记录

$ git log --graph --pretty=oneline --abbrev-commit

*59bc1cb conflict fixed

|\

| *75a857cANDsimple

* |400b400 & simple

|/

* fec145a branch test

一.10.3.远程分支

在前面步骤中,我们关联上了远程代码,下面直接提交代码

git push originbranch-name

branch-name要和自己本地库中分支对应

关联方法(两种):

1、git push -u origindev提价本地并在远程创建并关联

2、git checkout -b branch-name origin/branch-name创建本地分支名字和远程一样

git branch --set-upstream branch-name origin/branch-name关联上

一.10.4.标签

创建标签:git tag v1.0

在分支上创建,标签就属于某个分支的

git push origin 可以推送一个本地标签

git tag -d 可以删除一个本地标签

git push origin :refs/tags/可以删除一个远程标签

一.10.5.忽略文件

有一些文件比如.classpath,或者系统生成的文件,对我们的项目没有任何作用,但是git会管理。我们需要忽略他们

编写.gitignore文件

内容是你要忽略的文件名

二.git客户端(gui)


git使用_第9张图片


git使用_第10张图片


git使用_第11张图片


git使用_第12张图片


git使用_第13张图片


git使用_第14张图片


git使用_第15张图片


git使用_第16张图片

三.eclipse的git插件使用

第一步:安装好git插件

第二步:打开git视图


git使用_第17张图片

从远程下载(可以是github或者其他远程服务器如oschina)


git使用_第18张图片

选择Clone URI


git使用_第19张图片


git使用_第20张图片


git使用_第21张图片


git使用_第22张图片

指定下载到本地路径,其他默认即可,点finish完成下载

导入的eclipse里,随意修改一个文件,提交


git使用_第23张图片

出现git gui一样的界面,填上你的用户名和密码(如果要推送到远程服务器,用户必须是git服务器认证过的,除非服务器没有设置权限认证)


git使用_第24张图片


git使用_第25张图片

如果远程服务器已授权,可以推送到远程服务器


git使用_第26张图片


git使用_第27张图片

实际开发中是自己公司的远程服务器

你可能感兴趣的:(git使用)