git学习笔记

首先配置自已的git

$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]

常用命令

git commit --amend 撤销最近一次的修改
git fetch [remote-name] 从远程仓库中抓取数据
git push [remote-name] [branch-name] 将数据推送到远程的某个分支
git remote add [shortname] [url]  //远程添加一个分支
git remote show [remote-name] 
git tag -a v1.4 -m 'my version 1.4' 打标签
git show v1.4 显示v1.4这个标签的xinx
git tag 查看已经打了哪些标签
git reset HEAD -- file 

建立新的分支

git branch pan //新建分支pan
git checkout pan  //切到pan分支 此时HEAD指向的是pan  master指向的是建立分支之前的commit指针
git checkout -b pan //新建并切换到分支pan
git merge pan 
git branch -d pan //当某个分支问题解决了以后,就可以删除这个分支了
git merge master //在某个分支上将master中的内容合并过来

git branch --merged//查看已经合并的分支
git branch --no-merged //查看没有合并的分支

git mergetool//调用解决合并冲突的工具

git fetch origin //来同步远程服务器上的数据到本地

git push (远程仓库名) (分支名) //推送本地分支,这个是推送到远程的同名分支
git push origin serverfix:awesomebranc//推送到远程的其他的分支

建立新的分支

git push <远程主机名> <本地分支名>:<远程分支名>
## example  
git push origin payne:payne   //如果远程分支名不存在,则创建分支
git pull <远程主机名> <远程分支名>:<本地分支名>
## example  
git pull origin next:master //取回origin主机的next分支,与本地的master分支合并

删除远程分支develop:

git push origin --delete develop
git branch -a  查看所有的分支,包括本地和远程的
git branch -r   查看远程分支
git fetch origin dev-pan取回远程的某个分支,所取回的更新,在本地主机上要用"远程主机名/分支名"的形式读取。比如origin主机的master,就要用origin/master读取。
git merge origin/dev-pan 在某个分支上把刚才取回的运程分支合并到现在的某个分支

建立裸仓,两种方法

将本地的导出为裸仓

git clone --bare my_project my_project.git  //my_project这个仓已经存在了
scp -r my_project.git [email protected]:/opt/git //将裸仓移到服务器上
git init --bare --shared //如果对服务器上裸仓没有权限 此命令用于获得权限
git clone [email protected]:/home/my_project/my_project.git  //将裸仓中的内容复制出来

直接建立裸仓(里面无内容)

cd /opt/git
    $ mkdir project.git
    $ cd project.git
    $ git --bare init
 $ cd myproject
    $ git init
    $ git add .
    $ git commit -m 'initial commit'
    $ git remote add origin git@gitserver:/opt/git/project.git
    $ git push origin master

其他人的克隆和推送也一样变得很简单:

    $ git clone git@gitserver:/opt/git/project.git
    $ vim README
    $ git commit -am 'fix for the README file'
    $ git push origin master

你可能感兴趣的:(git学习笔记)