一,基本操作
1.1 ubuntu建立环境
输入ssh -T git@github.com
如果看到成功,表示成功连上github.
1.2.init
在/home文件夹创建github仓库
mkdir github
git init
1.3.clone
git clone git@github.com:AppleCai/BB-Black-linux.git
1.4. 远程仓库环境配置
git remote rm origin
git remote add origin git@github.com:AppleCai/BB-Black-linux.git
1.5. 修改本地工作代码
git add * (提交到暂存)
git status (查看本地和暂存区别)
git diff (参考本地与暂存区别)
1.6. 把暂存去上传到本地仓库
git commit -m "first commit" (提交到本地仓库)
1.7. 上传到远程仓库
git push origin master (提交本地仓库到远程服务器)
二,已经push的代码需要回退
git log
看commit ID
直接在工作区域的回退命令:
$ git reset --hard HEAD^ 回退到上个版本
$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard commit_id 退到/进到 指定commit的sha码
也可以先回退到本地仓库:
$ git reset commit_id
然后可以按提示选择checkout到本地工作区。
强推到远程(因为commit和工作区一致,所有没有必要再commit):
$ git push origin HEAD --force
(需要加--force,否则说上传内容为之前版本,则上传不成功)
列出详细提交记录
git reflog (git log只能看服务器的commit,内容会笔记少)
可以查询出每个历史版本的commit,每个commit都有对应的ID,确认好要退回的ID后输入:
git reset --hard 确认的ID
便可退回相应的历史版本
同文件名+波浪号的文件
通过文本编辑器,如gedit打开文件,会生成一个相同文件名+波浪号的文件。
这个带波浪号的文件是gedit的备份文件。
可以通过以下命令删除目录下所有的这类备份文件:
rm -fr .~
添加.gitignore文件
有些~和.o文件不需要提交,则需要在BB-Black-linux中添加.gitignore文件。但是加完后,不起作用,git add .后通过git status还能识别,原来需要执行如下3项。
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
打标签
git tag -v v1.4.2.1
git show v1.2
git push origin [tagname]
举例如下
创建一个tag
在“wp-code-highlight”文件夹上右击“Git bash”出现命令框
git tag -a 1.2.3-m 'version 1.2.3'引号中是说明信息
git push --tags 就可以在Github网上看到创建的tag了
删除某个tag
在“wp-code-highlight”文件夹上右击“Git bash”出现命令框
git tag -d 1.2.3删除这个tag(本地)
git push origin :refs/tags/1.2.3删除这个tag(服务器),这时可以发现Github网上的那个tag不见了
fetch更新本地仓库两种方式:
- 方法一 *
$ git fetch origin master //从远程的origin仓库的master分支下载代码到本地的origin master
$ git log -p master.. origin/master//比较本地的仓库和远程参考的区别
$ git merge origin/master//把远程下载下来的代码合并到本地仓库,远程的和本地的合并
- 方法二 *
$ git fetch origin master:temp //从远程的origin仓库的master分支下载到本地并新建一个分支temp
$ git diff temp//比较master分支和temp分支的不同
$ git merge temp//合并temp分支到master分支
$ git branch -d temp//删除temp
网友评论