git 使用小结

============================git=======================

1.初始化一个空的git仓库(在本地创建一个git仓库)

#mkdir gitlib

#cd gitlib

gitlib# git init   //初始化gitlib库

Initialized empty Git repository in /home/gitlib/.git/

创建好的.git/目录下有文件和目录

2.向仓库提交我们写的文件
#mkdir aaa
#git add aaa
#git commit -m "inint" aaa/
这个会报错是因为 aaa 是一个目录而不是一个文件

kernel#touch aaa
#git add kernel/   ====这个文件的信息只添加到git仓库的索引中去了,并没有真正的添加到库中去
#git commit -m "inint" kernel/  ===将索引库的内容向git仓库进行提交,这不之后文件aaa才算真的提				===交到git仓库中去了
这个就会提交成功。因为 现在的 aaa是一个文件
git commit -a -m ""====这条命令是已经add了一个或多个文件过后,然后修改了这些文件,就可以只用该命  ====令进行提交 ###没有使用出效果-a不能识别

3.
 =======分支======
分枝是用来将特性开发绝缘开来的。master 是默认的分支在其他分支上进行开发然后将他们合并到主分支上

git branch  ===========列出本地已存在的分支
git branch -r 列出远程分支
 git branch -a 列出本地分支和远程分支
git branch 创建一个新的本地分支,需要注意,此处只是创建分支,不进行分支切换
 git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。

   git branch -d | -D branchname 删除branchname分支

   git branch -d -r branchname 删除远程branchname分支
#git checkout aaa ==========切换到aaa分支
#git branch aaa  =====创建一个新分支
#git checkout -b aaa ====创建并同时切换到aaa分支 也就是上面两条命令的结合
#git push origin aaa ====除非将这条命令敲出否则aaa分支不会出现在远程服务器上

#cat .git/HEAD ======查看当前在那个分之下

4.更新与合并
===提交到远程仓库
#git push origin master ===可以把master换成你想推送的任何分支
#git remote add origin <server> ====如果还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务				===器,如此就能将你的改动推送到所添加的服务器上了。


#git pull  ====更新本地仓库至最新改动,以在你自己的目录中获取并合并远端的改动

#git merge <branch > ====要合并其他分支到当前分支

***注意 这并非每次都会成功 ,并可能出现冲突。这个时候就需要这些文件来手动合并这些冲突。改完之后需要执行
#git add <filename> 将他们标记文成功

在合并改动之前,可以使用下面的命令预览差异
git diff <source_branch> <target_branch>

5. 标签
为软件发布创建标签是推荐的 可以执行下面的命令创建一个叫1.0.0的标签
#git tag 1.0.0 1234567890(下划线部分是你想要提交ID的前十位字符)
可以用 
#git log ==========来获取ID
#git tag 1.0.0 ID
#git tag ========来查看创建的标签
#git show ID  ============命令来查看相应标签的版本信息,并连同显示打标签时提交的对象
#git tag -f 标签名=====加上-f 覆盖原有的tag  ****在电脑上没有发现覆盖了,也不知道是怎么覆盖的有待研究
#git tag -d 标签名 删除标签 
#git push origin :refs/tag/标签名   删除服务器上的标签

6.替换本地改动<这个没有使用过>
 #git checkout --<filename>  ++++++如果你操作失误,此命令会使用HEAD中最新的内容替换掉你目录中的文件。已添加到暂缓存区的改动以及新文件都不会收到影响。
====假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你的分支指向它:
#git fetch origin
#git reset --hard origin/master

7.查看版本库的状态
#git status

7.实用小贴士
1.内建图形化git  #gitk  ==需要安装才能使用
2.彩色的git输出:#git config color.ui true
配置屏幕的几个颜色 
git cofig --global color.status auto
git cofig --global color.diff auto
git cofig --global color.branch auto
git cofig --global color.interactive auto



3.显示历史时,每个提交的信息只显示一行: #git config format.pretty oneline ==oneline 是一个固定的数不能改变
4.交互式添加文件到暂缓区:git add -i


图形化客户端:GitX(L)   开源软件  Tower(osx)SourceTree(osx)
指南和手册:git社区参考书专业git像git那样思考gitHub帮助图解git
配置

#git commit 提交命令

话说git commit直接可以打开编译器进行编辑,我想用vim,这该怎么设置呢

命令是:

#git config --global core.editor vim

也可以直接用

#git commit -m "要注释的内容"

git config --list

===提交代码的log里面会显示提交者的信息
#git config --global user.name 用户名
#git config --global user.email 邮箱
#git config --globle core.editor vim
#git remote -v




++++++
#git status ====查看但前状态
#git pull====从服务器上获取更新本地库防止冲突
#git add package/apps/PTTKeyTest/ ====将文件加到库里面
#git commit -m "你要写的注释" ====将你的代码提交
#git push ====将你的代码推送到服务器上

#git branch release
#git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
    git branch --set-upstream-to=origin/<branch> release
# git branch --set-upstream-to=origin/master release
Branch release set up to track remote branch master from origin.
#git pull

查询log
git log
显示某一条具体的修改
git show 参数
通过用户名查看log git log --author= amily











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章