Git使用技巧
基本操作
1、版本控制
版本控制:
- 进入文件夹,右键点git bash here
- 初始化,输入git init
- 管理,git add 文件名
- 生成版本,git commit -m ‘v1(描述信息)’
回滚到以前版本:
git reset --hard 版本号
再次回滚到后面的版本:
git reflog
git reset --hard 版本号
2、分支管理
分支:
Git branch 查看分支
Git branch name 创建分支
Git checkout name 切换到分支
Git branch -d name 删除分支
合并分支:(可能产生冲突)
先回到master分支:git checkout master
合并:git merge bug (将bug分支合并到master)
工作流:
至少要创建一个dev分支用于开发,最后再合并
3、github托管
1、创建仓库
2、设置远程仓库地址
git remote add origin 仓库地址
3、本地代码推送:
git push origin branchname
4、个人开发
- 在公司开发:
-
切换分支:
git checkout branchname
-
把master分支合并到开发分支:
git merge master
-
修改代码
-
提交代码:
git add . Git commit -m 'name' Git push origin branchname
- 继续开发:
-
切换到开发分支:
git checkout name
-
拉代码:
git pull origin branchname
-
继续开发
-
提交代码:
git add . Git commit -m 'name' Git push origin branch
- 开发完毕要上线:
-
切换到master:
git checkout master
-
合并功能:
git merge dev(开发分支名)
-
推送:
git push origin master
-
把dev也推送到远程:
Git checkout dev Git merge master Git push origin dev
5、协同开发
-
多人协同开发:
(leader) mkdir person #创建新目录 Cd person/ #切换路径 Mkdir project Cd project/ Touch app.py #创建文件 Git init Git add . Git commit -m 'base' Git remote origin -- Git push origin master Git tag -a v1 -m '第一版' #给本次提交打个标签(给哈希值打个标签) Git push origin --tags Git checkout -b dev #创建dev并切换到dev Git push origin dev (成员A) #第一次接触项目,安装git后操作 Mkdir A Cd A/ Git clone --- Git checkout dev Git checkout -b p1 #创建p1分支 #开发 Git touch p1.py Git add . Git commit -m 'p1' Git push origin p1
6、补充
6.1 配置文件
- 只在当前文件夹下生效(项目/.git/config)
git config --local user.name 'xxxxxx'
git config --local user.email 'xxxxxx@qq.com'
- 全局配置(~/.gitconfig)
git config --global user.name 'xxxxx'
git config --global user.email 'xxxxx@qq.com'
- 系统配置文件(/etc/.gitconfig)
git config --system user.name 'xxxxx'
git config --system user.email 'xxxxx@qq.com'
#要有root权限
6.2 免密登录
- 方法一:URL
#在remote时:
git remote add origin https://用户名:密码@github.com/用户名/项目名.git
#也可以直接在项目/.git/config文件中修改成这个样子哦~
- 方法二:SSH
#1、生成公钥和私钥(默认放在~/.ssh下,id_rsa.pub公钥,id_rsa私钥)(~表示当前目录)
ssh-keygen
#2、拷贝公钥内容,并设置到github,settings,SSH
#3、在本地添加:
git remote add origin ssh地址
- 方法三:凭证
6.3 git忽略文件
创建.gitignore文件:在里面写入文件名及其后缀,若要忽略某一类型的文件就写:*.后缀
同时忽略.gitignore文件则在里面再添加.gitignore
忽略某一文件夹下所有文件: files/
忽略文件时排除某一文件: !文件.后缀、
忽略pya,pyb,pyc后缀的文件: *.py(a|b|c)
可以直接在github上搜gitignore文件屏蔽某种编程语言中常用的忽略哦
6.4 任务管理
- issues:文档及任务管理
- wiki:项目介绍
源操作
- 查看源
git remote -v
- 删除源
git remote remove origin
- 设置源
git remote add origin ...
常用命令
git status #检测当前文件夹下的文件状态
git add . #管理当前文件夹所有文件
git log #查看版本信息
git log --graph #以图的形式展示版本信息
git log --graph --pretty=formot:"%h %s" #显示的时候格式化一下
git reset HEAD 文件名 #将暂存区文件放回工作区
git clone #将所有代码拷贝下来
Ls 文件列表
Git clone 远程仓库地址 #拷贝该工程所有代码到本地
Git pull origin branchname #拉取远程代码到本地(更新本地工程)