Github使用入门全面详解
Git的优势
git的安装请自行安装
git init
2.设置签名
格式:用户名和邮箱。
作用:区分不同开发人员的身份。
说明:这里和代码托管中心的用户名密码无关。
//设置当前项目用户名
git config user.name zhangsan
//设置全局用户名
git config --global user.name zhangsan
//设置当前项目邮箱
git config user.email zhangsan@qq.com
//设置全局用户邮箱
git config --global user.email zhangsan@qq.com
3.查看代码状态
git status
4.添加命令
git add test.txt
//取消添加
git rm --cached text.txt
//添加多个文件 用空格隔开
git add test1.txt test2.txt
//添加指定目录下的文件
//source目录下及子目录下所有文件,home目录下的所有.go文件
git source/*
git home/*.go
//添加所有的文件
git add .
5.代码提交
git commit -m "注释说明"
git commit text.txt -m "提交代码"
6.查看提交日志
git log
//优雅的展示日志
git log --pretty=oneline
//简介展示日志
git log --oneline
//多用于切换版本时使用
git reflog
//空格向下翻页。b 向上翻页 q 退出
7.切换当前版本(回退/前进)
用索引方式切换
首先执行git reflog 查看当前HEAD 和索引信息
切换到指定版本:
git reset --hard 2a0b8d1
使用^回退版本 只能回退
git reset --hard HEAD^
//后退多步. 3步
git reset --hard HEAD~3
切换回最新版本 重置缓存区和工作区:
git reset --hard HEAD
8.删除文件
//首先添加删除的文件
git add test.go
//提交删除
git commit -m "del file"
9.比较操作
//比较工作区和暂存区的文件
git diff main.go
//比较本地库历史记录
git diff HEAD main.go
//不指定文件名会比较所有文件
10.添加忽略文件
1).创建.gitignore
2).修改文件,添加忽略正则
# 以'#'开始的行,被视为注释.
* ?:代表任意的一个字符
* *:代表任意数目的字符
* {!ab}:必须不是此类型
* {ab,bb,cx}:代表ab,bb,cx中任一类型即可
* [abc]:代表a,b,c中任一字符即可
* [ ^abc]:代表必须不是a,b,c中任一字符
添加忽略之后,已经提交到版本库中的文件是无法忽略的。只能clone到本地,删除后,再进行忽略。.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。 git update-index --assume-unchanged PATH 在PATH处输入要忽略的文件。 另外 git 还提供了另一种 exclude 的方式来做同样的事情,不同的是 .gitignore 这个文件本身会提交到版本库中去。用来保存的是公共的需要排除的文件。而 .git/info/exclude 这里设置的则是你自己本地需要排除的文件。 他不会影响到其他人。也不会提交到版本库中去
12.修改.gitignore使其立即生效
git rm -r --cached . #清除缓存
git add . #重新trace file
git commit -m "update .gitignore" #提交和注释
git push origin master #可选,如果需要同步到remote上的话
13.记住用户名密码
cd到项目目录执行以下命令
git config --global credential.helper store
执行后git pull 需要输入密码,下次即可记住密码
14.git强制更新代码
//会以提交的代码为主,强制更新冲突的代码
git reset --hard
1.查看所有分支
git branch -v
2.创建新的分支
git branch hot_fix
3.切换到指定分支
git checkout hot_fix
4.合并分支
首先切换到需要被合并的分支
//后面指定需要合并的分支
git merge hot_fix
5.删除分支
git push origin --delete <branchName>
6.解决冲突
冲突示例:
修改完成后执行 git add filename 标记冲突已经解决
git add main.go
此时冲突已解决但您仍处于合并中,执行
git commit -m "merge"
备注:若在主分支解决冲突后,被切换的分支建议也合并一下主分支修改后的内容 。
1.推送地址
//查看推送地址
git remote -v
//修改远程仓库地址
git remote set-url origin <remote-url>
//添加新地址
//git remote add [地址别名] [地址链接]
git remote add origin https://github.com/linkaias/testgit.git
//删除指定的远程仓库:
git remote rm origin
//推送地址
git push origin master
//强制推送 以推送为主
git push origin master -f
//将远程仓库和本地仓库关联起来:
git branch --set-upstream-to=origin/master master
//使用git pull整合远程仓库和本地仓库. (忽略版本不同造成的影响)
git pull --allow-unrelated-histories
2.克隆远程仓库
git clone https://github.com/linkaias/testgit.git
Git 全局设置:
git config --global user.name "ddd";
git config --global user.email "qqq@163.com";
创建 git 仓库:
mkdir test
cd test
git init
touch README.md
git add README.md
git commit -m "first commit";
git remote add origin https://gitee.com/asaedit.git
git push -u origin master
已有仓库:
cd test
git remote add origin https://gitee.com/asdedit.git
git push -u origin master