Git 使用教程
git安装
- 安装包及新版本去git官网下载安装就可以了
- Ubuntu下推荐用下面命令安装
sudo apt-get install git git-gui gitk
git-gui gitk 是Linux下图形化的git,在提交改动方面相对于命令行好用
git使用
- git clone
#如果是远端服务器上的代码, 运行命令如下
git clone username@host:/path/to/repository
例如: git clone https://github.com/lede-project/source.git
#如果是本地代码
git clone /path/to/repository
- git pull
#如果要更新你的本地仓库至最新改动用git pull
#git pull 是git fetch 和 git merge 的综合体
#git pull 时会自动合并冲突,但并不是所有冲突可以合并成功,如果不成功,你需要手动修改
- git add
#<filename> 是提交文件的相对git目录源码的路径
#git add 只是添加到提交文件下
git add <filename>
- git commit -m
#git commit 只是添加到提交下,实际提交改动到HEAD, 但改动没有提交到远端目录
#-m 简单描述为什么要提交这些代码,最好用英文,服务器上一般不会有中文提示
git commit -m "why what commit "
- git push origin master
#master 可以换成你想要提交的任意分支
#不加参数 默认提交到当前分支下
#后面只提交tag 可以用git push --tag
git push
- git tag -a “version” -m "version"
#如果是软件版本之类的东西需要更新tag 更容易找到
- git stash / git stash pop / git stash list / git stash drop
#如果知道要上传的代码和现在服务器上的最新代码有冲突,可以先使用git stash保存下当前的修改
#然后用 git pull 最新代码,来避免冲突,再用git stash pop 来还原本地修改
Note:一定要检查合并后的代码是不是自己想要的结果,因为合并代码有可能出错,但并不报错
#git stash list /git stash drop 是查看和删除保存的备份
- git checkout
#一个功能是还原本地改动
例如:git checkout <filename> / <filepath>
Note: git checkout 不能把新增加的文件删除 ,这个时候如果有新增加的文件,建议手动删除
#另一个功能是切换分支
git checkout <brach>
- git log
#查看提交记录
commit <head>
Author:
Date: time
why commit
Signed-off-by: author
- git reset --hard origin/master
#这个命令用在导版本的时候用 git log 查看要导回版本的 commit <head>
例如:git reset --hard <head>
- git gui
#git status 命令的图形化显示
#这个图形化下面可以
1.选中要提交的文件,然后Ctrl + T(这个动作是和git add <filename>一样)
如果有多个文件,建议用快捷键SHIFT按住同时选中多个要提交的文件即可,然后Ctrl + T
2.查看是否提交的文件是否正确,如果选择错误选中用(Ctrl + U)撤消这个选择
3.写为什么要提交 类似git commit -m 后面的文字
4.有的还要有自己的签名,如果没有设置 用git config 设置自己的邮件和签名
5.commit 就是git commit
6.push 就是git push
- gitk &
#图1 gitk 查看历史提交版本 类似 git log
#图2 选择某一版本右键选中红框后,后再按提示选择hard 就是git reset 导回版本的用法
- git clean -df
删除未被提交的文件,回退时部分文件无法被删除的时候使用