目录
前言
Git是一种常用的版本控制系统,很多公司使用Git仓库管理项目代码。对于大多数第一次使用Git的同学来说,虽然网上关于Git的知识十分详尽,但是真正自己第一次上手时,并不知道该如何运用各种Git命令。因此本文将尽量简单的讲述Git的日常使用,帮助同学们尽快上手。
背景相关
1、Linux系统下的Git日常操作
2、不涉及远程仓库的创建
创建本地Git仓库
0、本文省略了SSH配置等步骤,以后补充
1、创建本地仓库时,首先需要cd到打算创建仓库的路径下
2、然后登录自己的git(如果直接输入git clone,系统会提示error,需要git账号登录)
git config --global user.email "你的git注册邮箱" //git登陆
git config --global user.name "想要设置的git账户名" //设置本地仓库的账号名称
3、第一次将远程仓库拷贝到本地
git clone //clone远程仓库到本地
Git代码提交
在对本地仓库代码进行开发后,需要将本地代码进行提交,并同步到远程仓库。日常的代码提交过程比较简单,具体介绍如下。
1、同步远程仓库
在提交代码前,需要先将远程仓库等代码同步到本地。
git pull //将远程仓库更新到本地仓库
2、查看本地文件改动
在git add本地文件之前,一个比较好的习惯是先查看本地文件的改动信息,确认本地改动(开发代码的改动)无误后,再git add。
//以下:url为文件路径,filename为要查看的文件
git diff url/filename //查看本地文件改动
3、添加改动的文件到本地仓库
在确认开发代码改动无误后,就可以将需要提交的文件添加到本地仓库。
//以下:url为文件路径,filename为要查看的文件
git add url/filename //添加改动文件
4、随时查看提交状态
在提交过程中,可以经常查看代码提交状态,确认状态符合预期。
git status //查看git状态
5、将代码提交到本地仓库
在git add添加需要提交的文件并确认状态无误后,即可将add的代码改动提交到本地仓库。
git commit可以直接提交代码,并在后续弹出窗口中添加备注信息。
-m命令可以在提交代码的同时直接添加备注信息,不会在后续弹出窗口,该命令执行后,代码会立即提交到本地仓库。
git commit //提交代码到本地
git commit -m “logs” //提交代码到本地,并同时添加备注信息
6、将代码提交到远程仓库
在将代码提交到本地仓库后,即可将本地仓库代码提交到远程仓库。
git push //提交代码到远程仓库
Git提交撤回
如果在git代码提交过程中因某些原因想撤回之前到操作,一下有两种常见的撤回场景和相应操作。
1、撤回git add
如果git add添加文件后,想撤回该文件,则执行以下命令。
git reset HEAD url/filename //撤回git add
2、撤回git commit
如果git commit提交到本地仓库后,想撤回该提交版本,则执行以下命令。
2.1、查看git提交日志
首先需要查看git提交到历史记录,找到想撤回到版本号。
git log //查看git提交版本日志
2.2、撤回提交版本
将需要撤回的版本的版本号写在以下命令中即可撤回。
git reset —soft 版本号 //撤回git commit
Git常用指令汇总
本节对以上git命令进行汇总。
git config --global user.email "你的git注册邮箱" //git登陆
git config --global user.name "想要设置的git账户名" //设置本地仓库的账号名称
git clone //clone远程仓库到本地
git pull //将远程仓库更新到本地仓库
//以下:url为文件路径,filename为要查看的文件
git diff url/filename //查看本地文件改动
git add url/filename //添加改动文件
git status //查看git状态
git commit //提交代码到本地
git commit -m “logs” //提交代码到本地,并同时添加备注信息
git push //提交代码到远程仓库
git log //查看git提交版本日志
git checkout url/filename //
git reset HEAD url/filename //撤回git add
git reset —soft 版本号 //撤回git commit
参考文献
https://www.zhihu.com/question/20070065
http://blog.chinaunix.net/uid-26997997-id-3231891.html
https://gist.github.com/jhjguxin/3271961
http://learngitbranching.js.org