Git指令总结
1. 常用命令
git help git init //初始化本地代码仓库 git clone <仓库url> //克隆仓库内源码 git checkout <branch> //切换到指定分支 git submodule init //初始化子模块 git submodule update //同步子模块代码 git branch //查看当前分支和本地全部分支 git branch <branchname> //创建新分支 git branch -D <branchname> //删除指定分支 git status //查看当前状态 git add . //将当前目录下全部修改加入提交队列 git add <filename>//添加指定文件到提交队列 git add --all //将当前目录下全部修改(包含删除动作)加入提交队列 git commit -m "commit log" //将提交队列内的变更提交到本地仓库 git commit -m 'commit log' //功能同上,日志可换行 git push // 将本地仓库变更提交到主仓库和他人共享 git pull --rebase //同步本地仓库为最新,俗话把最新代码拉下来 git merge <branchname> //将“branchname”代码合并到当前所在分支 git fetch //同步 git diff //查看当前全部未add的文件变动 git diff <filename> //查看指定文件文件(未add)的变更 git tag //查看全部tag
2 . 常规用法
2.1 . 初始化本地仓库
创建仓库后可以用于管理文件的版本,包含各种文档和代码
mkdir [mydir] cd [mydir] git init
2.2 . 将代码提交到仓库
git add [filename] git commit -m ["#1 commit desc"]
2.3 . 查看当前状态
用以查看是否有修改还没有提交到git进行管理等等
git status
2.3 . 使用branch 管理不同版本的文件
2.3.1 . 创建分支
git branch [new_branch_name]
2.3.2 . 切换分支
git checkout [my_branch_name]
2.3.3 . 删除分支
git branch -D [my_branch_name]
2.4 . 使用tag标记文件特性
2.4.1 . 创建tag
git tag [new_tag_name]
2.4.2 . 切换到指定tag
git checkout [my_tag_name]
2.5 . 还原操作
2.5.1 . 还原指定文件
git checkout [file_name]
2.5.2 . 还原本次操作(全部修改)
git reset --head
2.6 . 回退版本
2.6.1 . 回退到某一个tag
git checkout [my_tag_name]
2.6.2 . 回退到某次提交
git show
3 . 扩展用法
3.1 . 将本地代码推送到远程(gitlab)空仓库
3.1.1 . 从 gitlab 上复制 项目的ssh地址 如:
git@git.domain.com:group/project.git
3.1.2 . 在自己的代码的目录上 输入
git remote add origin git@git.domain.com:com:group/project.git
3.1.3 . 然后如果你让github给你智能生成过gitignore文件的话,那需要先pull一次
git pull origin master
3.1.4 . 最后 将代码 push到远程仓库
git push -u origin master
3.2 . 代码迁移到 Gitlab上
代码仓库的迁移主要针对原先代码不在 gitlab上,需要将原先 git 或 svn的日志记录,分支以及tag都迁移到 gitlab 上。
3.2.1 . 旧Git仓库迁移到 gitlab上
从原地址克隆一份裸版本库,比如原本托管于 GitHub
git clone --bare git://github.com/username/project.git
3.2.2 . 然后到新的 Git 服务器 (gitlab) 上创建一个新项目,etdroid。以镜像推送的方式上传代码到 gitlab 服务器上
cd project.git git push --mirror git@git.domain.com:group/project.git
3.3 . 删除本地代码
rm -rf project.git
3.3 . 旧Svn仓库迁移到 gitlab上
3.4 . 克隆远程项目到本地
新建工作目录(如有需要)并且进入
目录内目录内右键打开git bash
克隆主工程源码
git clone <url>
例如要克隆易洽源码
git clone git@git.domain.com:group/project.git
切换分支(如有需要)
git checkout <branch>
例如要切换到master分支:
git branch master
初始化子模块
git submodule init
同步子模块代码
git submodule update
将子模块切换到需要的分支(如有需要)
git submodule foreach git checkout master
4. 创建自己的工作分支
代码仓库中有master和production两个分支,都是保护分支不能直接提交修改的代码。
因此需要创建自己的工作分支
切换到自己要复制的分支(如有需要)
git checkout <branch name>
例如:
git checkout master
创建工作分支
git branch <branch name>
例如:
git branch bugfix_#123
5 . 删除远程分支和
在Git v1.7.0 之后,可以使用这种语法删除远程分支。
git push origin --delete <branchName>
5.1 . 删除远程tag:
git push origin --delete tag <tagname>
否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:
git push origin :<branchName>
这是删除tag的方法,推送一个空tag到远程tag:
git push origin :<branchName>
这是删除tag的方法,推送一个空tag到远程tag:
git tag -d <tagname> git push origin :refs/tags/<tagname>
如何使用Git建立本地仓库并上传代码到GitHub
1.到本地项目文件夹右键选择git bash here
2.输入个人信息(代码提交者)
git config --global user.name "xxxx" git config --global user.email xxxxx@qq.com
3.
在本地项目目录创建本地仓库
git init
输入命令后项目目录会有一个隐藏的.git文件夹
上传所有代码到本地仓库 (记得add 后面空格后一个“.”)
git add .
这样就把代码上传到本地仓库了
git commit -m "initial commit"
关联本地仓库并上传代码
git remote add origin https://github.com/Yanyf765/hr_sys.git(想上传到的GitHub地址) git push origin master