git 使用指南《最新版》

来源:互联网 发布:bitmap转byte数组 编辑:程序博客网 时间:2024/04/25 21:36

Git使用指南

         之前博客写过一些git的使用命令,当时是刚进实验室时做的git培训,现在回看当时总结的git使用,发现大部分不够实用,仅仅是简单地罗列了下命令,并没有结合具体的使用场景来说明,所以我认为现在还是很有必要来再说明一下

一、git配置

配置还是第一步需要的,设想你新近一家公司写代码,肯定要提交你的代码,所以配置还是第一个需要的。

配置文件在,~/.gitconfig

$  git config  --global  user.name “xxx”

$  git config  --global  user.email xxx@gmail.com

二、git克隆

配置完成后,开始从远程git仓库克隆代码

有以下三种方法,推荐第二种和第三种(3有时候不行的)

n git clone git://git.erc.ict.ac.cn/ bwfs_pnfs.sles11u1.git[以只读权限来获取代码,不能直接push]

n git clone git@gitserver:bwfskmod.git

n git clonegit@git.erc.ict.ac.cn:bwfskmod.git

参考自:http://blog.csdn.net/harry_helei/article/details/6997531

三、git建分支

克隆git库的代码到你的本地工作目录,开始建立自己的分支;

1.     $ gitbranch [branch_name]

2.     另外建立跟踪分支;

$ git branch [branch_name] –track [remote_name]/

[remote_branch_name]

还可以建立跟踪分支,且切换到跟踪分支上;

$ git checkout -b [track_local_name] [remote_name]/

[remote_branch_name]

如$ git checkout -b losf origin/losf,实际上-b是建立分支,checkout是切换到建立的跟踪分支上;

跟踪分支是一种和某个远程分支有直接联系的本地分支。在跟踪分支里输入 git push,Git 会自行推断应该向哪个服务器的哪个分支推送数据。同样,在这些分支里运行 git pull 会获取所有远程索引,并把它们的数据都合并到本地分支中来。

实例:

在克隆仓库时,Git 通常会自动创建一个名为 master 的分支来跟踪 origin/master。这正是 git push 和 git pull 一开始就能正常工作的原因。当然,你可以随心所欲地设定为其它跟踪分支,比如 origin 上除了 master 之外的其它分支。

3.     切换到建立的分支上

$ git checkout [branch_name]

四、git提交

     这时,自己的分支也有了,代码写完后,需要提交代码到git仓库;

     1.  代码提交一般有五个步骤:

(1)查看目前代码的修改状态

$ git status

(2) 查看代码修改内容

(3) 暂存需要提交的文件

$ git add test.c

(4) 提交已暂存的文件

$ git commit –m “what you want to say”

(5) 同步到服务器

$ gitpush git@gitserver:bwfs.git[localbranchname]:[remotebranchname]

     例如:

     git push git@gitserver:bwfs.gitrun:losf

     注意:

     即使是推送到远程分支上,远程分支名也不需要写成origin/losf,只写成

Losf即可。

     2. 推送本地分支

如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的

master分支,或者作为另外一个名叫test的分支,如下:

$git push origin test:master      // 提交本地test分支作为远程的master分支

$git push origin test:test         // 提交本地test分支作为远程的

test分支

3.如下:

拉取远程仓库:$ git pull [remoteName] [localBranchName]

推送远程仓库:$ git push [remoteName][localBranchName]

五、忽略一些文件

     比如说,你在提交代码时不想提交有些后缀的文件,在顶层工作目录中添加一个叫".gitignore"的文件,来告诉Git系统要忽略掉哪些文件,下面的是文件内容的示例:

# 以'#'开始的行,被视为注释.

# 忽略掉所有文件名是 foo.txt 的文件.

foo.txt

# 忽略所有生成的 html 文件,

*.html

# 忽略所有.o和.a文件,可使用通配符.

*.[oa]

六、git打tag

1.  git tag:按首字母顺序显示出当前所有的标签;

2.  本地打标签:git tag –a tag_name–m “tag annotation”;

3.  打完标签后,推送到git repository;

git push git@gitserver: bwfs_pnfs.sles11u1.gitlosf tag_name

七、git好用的小命令

Gitbranch –a:列出所有分支

Gitbranch –r: 列出远程分支

Gitremote show: 列出远程主机名

Gitstatus:查看当前文件所处的状态

Git addfile_name: 添加文件为staged的状态,等待提交

Gitcommit –m “commit information”: 提交

Gitcommit –am:

Git diff:查看修改过的内容,- 表示原来的,+ 表示增加的

Git log:查看提交日志,可看目前提交的情况

Gitreflog: 查看当前做过的操作历史记录

Gitreset –hard commit_hash:回滚到git push之前的某版本代码

gitreset --soft  HEAD~1:取消上次提交:

Gitcheckout tag_name,但不建议

建议git checkout –b branch_name tag_name,

Git tag 或git tag –l可列出所有tag

0 0
原创粉丝点击