1.初始化git,会在home下生成.gitconfig文件。
git config --global user.name xxx
git config --global user.email xxx@qq.com
2.不使用--global参数时在某项目顶层目录下生成私有配置config,报告单独的名字和邮箱
xxx项目目录/.git/config
3.需要一个项目的仓库,有两种方式得到:
git clone
git init
1) 如何clone一个仓库:仓库可以使用http(s)://协议,ssh://协议,git://协议
git clone git@github.com:linker99/myfirst_test.git
然后当前目录下就会生成项目目录myfirst_test
2)进入任何一个已经存在的文件夹执行:git init ,就会把当前目录变为git仓库。并且在目录下生成.git文件夹
-
git add 添加新创建或者修改过得文件到本地仓库缓冲区(index)
git add new.txt
git add .
5.git commit 从缓存区或者untracked状态提交到本地仓库
git commit -m "添加一个测试文件
git commit -a -m "" 这个命令可以直接跳过git add 把已经修改的文件一块提交,但是新建文件不行,智能使用git add 然后再用git commit
-
git push提交本地到远端仓库
- git status 查看git仓库状态
对于untracked状态的文件,可以执行git add
- git diff --cache 可以查看add后缓存区里面的那些文件被修改了。
git diff 不加--cache查看已经修改但是还没有add到缓冲区里的文件
- git rm与git rm --cached
当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用
git rm file_path
git commit -m ‘delete somefile‘
git push
当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm --cached file_path
git commit -m ‘delete remote somefile‘
git push
- 当我门使用git init在本地创建一个仓库,而没有远程仓库时git remote add 命令来推送到远程仓库
git remote add origin git@github.com:linker99/myfirst_test.git
其中origin是本地主机名,可以自定义。
- 当我们使用git clone获取到仓库,而不是git init,那么使用git push origin master 推送到远程,第一次使用加上-u origin,以后就可以直接git push
git push -u origin master
12 . git branch 查看当前分支
git branch xxx创建一个本地分支
git checkout xxxx 切换当前分支
- 当我们在 新分支xxx和主分支master都开发了一些代码,验证ok,需要把xxx分支和人主线时。
先切换到主分支:git checkout master
再合并:git merge -m "注释" xxx分支
此时可能会有冲突,可以使用git status查看,或者分别vi查看,或者
git diff查看。
然后:使用vim手动删除冲突内容
git add xxx冲突文件
git commit -m ""
就可以完成冲入的一些解决操作。
- 但我们需要删除已经被合并的分支时: git branch -d xxxx
git branch -D xxx 强制删除
- 恢复合并的内容,或者上次commit的内容
git reset --hard HEAD^
-
如何合并的时候两个分支的内容相同,只是注释不同,git commit不产生一个新的提交,只是将当前分支指向合并进来的分支。
- git 日志,显示按提交时间的逆序,使用--reverse可以翻转显示
git log
显示fs目录下makefile文件从2.5开始的日志
git log v2.5.. Makefile fs/
打印详细提交日志信息
git log --stat
单行显示如下,还有medium,full,short,email,raw等格式,实在不行也可以自定义
git log --pretty=online
增加图形功能
git log --graph --pretty=online
按图形拓扑显示
git log --pretty=format:‘%h :%s‘ --topo-order --graph
git入门
原文:http://blog.51cto.com/11325959/2324937