提交项目
1.查看修改的文件
git status
2.将修改的文件添加到暂存区
// 添加一个文件
git add file
// 添加多个文件
git add file1 file2
// 添加所有修改文件
git add .
git add --all
3.将缓冲区的文件提交到本地库中
git commit –m "提交说明"
4.将项目提交到远程库
// 如果是第一次提交,提交到master
git push –u(第一次要用-u 以后不需要) origin master
// 如果当前分支没有和远程master分支关联
git push origin master
// 当前分支和远程分支关联,直接用下面这个命令就可以
git push
克隆项目
- 从远程克隆指定分支项目
git clone -b dev <项目地址>
表示克隆远程 dev
分支
切换分支
- 查看远程所有的分支
git branch -a
使用这个命令可以看到本地分支和远程所有的分支。
- 查看当前的分支
git branch -v
- 新建分支并切换到远程分支
git checkout -b 本地分支名 origin/远程分支名
// 例如:
git checkout -b dev origin/release-1.1.1
该命令可以将远程git
仓库里的指定分支拉取到本地,并在本地新建了一个dev
分支,并和指定的远程分支release-1.1.1
关联起来。
- 查看本地分支及追踪的分支
git branch -vv
如果本地分支和远程分支没有关联,推送代码会报错
- 将本地已有的分支(已经存在) 和 远程分支关联
git branch --set-upstream-to=origin/release-1.1.1(远程分支名) dev(本地分支名)
- 将本地分支推送到远程分支
git push <远程主机名> <本地分支名>:<远程分支名>
// 例如:
git push -u origin dev:release-1.1.1
上述命令表示将本地dev
分支推送到远程release-1.1.1
分支。
7.放弃本地修改,强行覆盖远程分支的代码
开发时,对于本地的项目中修改不做保存操作(或代码改崩),可以用到Git pull的强制覆盖,具体代码如下:
git fetch --all
git reset --hard origin/master
git pull //可以省略
Tag标签
- 查询当前分支的所有 Tag
git tag
- 给当前分支打标签(附注标签)
git tag -a v1.0 -m "my version 1.0"
- 查看Tag的详细信息
git show tagName
- 将tag同步到远程服务器
git push origin <tagName>
- 删除 Tag
// 本地删除
git tag -d v1.0
// 远端删除
git push origin :refs/tags/<tagName>
// 例如:
git push origin :refs/tags/v1.1
- 通过指定hash所在的tag
git tag --points-at 8c717b4a339ac6c734d2c4d331f41517e4fa6936
这样是显示指定hash所在的tag。 如果指定的hash有tag,则会显示tag名称,否则不会显示任何字符。
$ git tag --points-at 63320de
1.0.3.13.stable
release-1.0.3.13
short-hash查: 63320de
- tag 版本&说明
git tag -l -n
1."tag" 部分
tag 代表的是标签动作,可以带参数 ,也可以不带参数,
带上不同的参数可以实现标签的 新建/删除/查询/验证 等功能.
2."-l" 部分
-l 注意是字母"L",以列表形式列出所有tag的版本号.
3."-n" 部分
-n 显示出每个版本号对应的附加说明.
设置作者信息
git提交代码时,可以使用下面的命令设置作者信息:
git config --global user.name "aiun"
如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字,只要去掉 --global 选项重新配置即可。
切换分支
将dev分支合并到master分支,操作如下:
1、首先切换到master分支上(往哪个分支合并就切换到哪个分支)
git checkout master
2、如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
3、然后我们把dev分支的代码合并到master上
git merge dev
4.合并后可能会有冲突,解决完冲突,重新 添加、提交,然后 push 到远程
git add <fileName>
git commit -m "info"
git push origin master
统计代码量
统计 2022-12-01 到 2022-12-31 时间的代码修改量,author 是提交作者
git log --author="aiun" --since=2022-12-01 --until=2022-12-31 --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -