您的位置:首页 > 其它

git使用小结

2014-02-26 14:30 253 查看
本篇文章主要介绍自己在平时工作中使用git的一些常用命令,之前都是记录在本子上面,现在把他们记录在博客上,便于保存和回顾。

1. 建立自己的git仓库

1.1 在一个新建的repo文件夹里面,执行git init,建立一个本地仓库。



配置自己的信息

git config –-global user.name “hu hao”

git config –-global user.email “huhao@email.com

1.2 添加新加入和已经修改的文件到本地仓库

git status #查看当前本地git库的修改差异

git add file_name #将file_name加入到本地暂存区

git add . #将当前目录下的所有文件全部添加到暂存区

git commit #将本地暂存区提交到本地库中去

提交日志写法:首行要少于50个字的开发概括信息

第二行为一个空行

第三行为细致描述开发信息

git pull #将远程git库中的代码更新到本地来

git push #将本地库中的代码提交到远程git仓库中去

git rm # 删除一个文件

git rm --cache filename #删除已经add的文件

git mv old_filename new_filename #重新命名一个文件

在已经建立好的repo文件夹下的git库中,将本地的git库升级为远程的git中心仓库。



然后,你就拥有了自己的一个git远程仓库了,此时,可以新建一个自己的文件夹,然后从repo_git这个仓库中提取代码了,从哪里提取的,就向哪里提交。

1.3 使用git clone repo_git的路径就可以拷贝代码了。

1.4 另一种方法创建远程git仓库

在本地的git仓库上面添加一个远程仓库

git remote add origin ssh://用户名@IP地址/本地仓库的地址

git push origin master #将本地的master(建立git仓库时,会默认建立一个master分支)跟踪到远程origin分支上面去。

查看远程分支情况:git remote show origin

2.git的diff使用

对于已经修改,但是还没有add的文件,可以用git diff a.c来查看a.c文件的前后修改对比,如果对修改的不满意,可以用git checkout a.c 来还原此次的修改。

对于已经修改,并且已经add的文件,可以用git diff –-cached来查看a.c文件的前后修改对比,如果对已经提交的修改不满意,可以先用git reset HEAD a.c来去掉a.c的文件的暂存属性,然后再次修改,add即可

如果你要干干净净的回到之前的某个版本,在此之后的所有提交都不保留,那么 git reset –hard commit号 就可以了。

如果要查看某一个版本之前的分支的某处代码,建议在当前分支上,新建一个分支,在新分支上面,使用git checkout commit号

git branch #查看当前分支状态

git branch new_branch #新建一个new_branch分支,新分支包含于原分支完全相同的文件内容

git checkout new_branch #切换到new_branch分支上面,在新分支上,怎么折腾都行

git branch –d new_branch #删除new_branch ,不能删除当前正在使用的分支

要合并new_branch的内容到主分支上面去,先切换到主分支上(git checkout master),然后git merge new_branch就可以了。如果在合并代码的时候(分支合并到主线上),有冲突的文件,合并时会有提示,并且在主线冲突文件中有对于的冲突说明。修改完主线上的冲突文件后,需要再次add,并且commit,然后再次git merge

查看远程分支,详见git远程分支相关操作

3. git log查看

git log 直接查看所有提交的信息

git log –p 查看每次修改的详细信息

git log --pretty=format:'%h : %s' –graph 打印出可视化的提交图

4. .gitingore文件

自己的.gitignore文件,git在提交时,会自动忽略掉.gitignore里面的文件类型,编译过程中一些临时的文件就不需要提交到git库上面去。

*.o
*.a
*.cmd
*.order
*.builtin
*.d
*.symvers
*.lzma
*.ko
*.tmp_*
System.map
vmlinux
root_uImage
kernel-rt*
.verson


以后用到的会及时的补充上来。恩,先就写什么多了。

详细参考见:git中文版手册
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: