本篇文章主要介绍自己在平时工作中使用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中文版手册