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
- git 使用指南《最新版》
- Glide最新版V4使用指南
- Glide最新版V4使用指南
- Git 使用指南
- Git使用指南
- Git使用指南
- git使用指南
- git使用指南
- Git使用指南
- Git使用指南
- GIT使用指南
- Git使用指南
- Git使用指南
- git使用指南
- git使用指南
- git 使用指南
- GIT使用指南
- Git使用指南
- online_judge_1055
- POJ 1474 Video Surveillance
- 黑马程序员Android第55期——DOM 实例
- 放下是大智慧
- 计算机数值和非数值数据编码基础
- git 使用指南《最新版》
- online_judge_1056
- Monte Carlo(蒙特卡洛积分)
- android之Http的简单请求
- 浅谈空指针异常NullPointerException
- online_judge_1057
- 场景类CCScene和布景类CCLayer
- 网络基本功(十):细说TCP确认机制
- 精灵类CCSprite