1、新建项目文件夹helloword
2、cd hellword 进入项目文件夹
3、git init 初始化仓库
4、git clone https://xxxxxx”复制代码命令(git clone -b 1.0_dev https://xxxxxxxxx 复制指定分支代码)
5、git status 命令用于查看项目的当前状态 加了 -s 参数,以获得简短的结果输出
6、git add 命令将想要快照的内容写入缓存区 git add . 全部写入缓存区
7、git commit 将缓存区内容添加到仓库中 加 -m 选项以在命令行中提供提交注释
8、git commit -am 直接将快照的内容添加到仓库中
9、git reset HEAD -- 命令用于取消已缓存的内容
10、git rm file 会将文件从缓存区和你的硬盘中移除
11、git branch (branchname) 创建分支命令
12、git checkout (branchname) 切换分支命令
13、git merge 合并分支命令
14、git branch 列出所有分支
15、git log 查看提交历史 加--oneline 查看简洁信息
16、git pull 提取远程仓库的更新
17、git remote add one https://git.coding.net/lpf123456/one.git 添加仓库关联(注:one为仓库名,默认为origin)
18、git push -u one (仓库名) master(分支名) 推送到远程
git push --set-upstream origin 分支名 当前分支推送到远程(远程无相应分支)
19、在1.0_dev分支上创建1.1_dev分支命令
git checkout 1.0_dev //进入1.0_dev分支
git checkout -b 1.1_dev //在当前1.0_dev分支创建1.1_dev本地分支
git push origin 1.1_dev //将本地1.1_dev分支作为远程1.1_dev分支
20、查看当前git用户名: git config user.name
21、查看当前git邮箱: git config user.email
22、切换git用户名: git config --global user.name "YOURUSERNAME"
23、切换git邮箱: git config --global user.email "YOUREMAIL"
24、ssh key配置:git ssh key配置_git配置ssh_讨厌走开啦的博客-CSDN博客
25、迁移仓库
(1)复制原仓库镜像
git clone --mirror https://github.com/***/demo.git
(2)进入目录
cd demo.git
(3)上传至新仓库
git push --mirror https://github.com/***/demo_two.git
26、代码统计
(1)查看git上个人代码量
//查询所有
git log --author="username" --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 }' -
//时间段查询
git log --since='2020-07-01' --until='2021-07-15' --author="username" --pretty=tformat: --numstat \
| awk '{add += $1; subs += $2; loc += $1 - $2} END \
{printf "added lines: %s, removed lines: %s, total lines: %sn", add, subs, loc}' -
//前多少天查询
git log --since=365.day.ago --author="username" --pretty=tformat: --numstat \
| awk '{add += $1; subs += $2; loc += $1 - $2} END \
{printf "added lines: %s, removed lines: %s, total lines: %sn", add, subs, loc}' -
(2)统计每个人的增删行数
git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --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 }' -; done
(3)查看仓库提交者排名前 5
git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5
(4)贡献者统计:
git log --pretty='%aN' | sort -u | wc -l
(5)提交数统计:
git log --oneline | wc -l
27、git reset --soft回滚多了恢复的方法。
(1)git reflog:查看提交记录的id(最前面黄色部分)
(2)git reset --soft [id]
一、多用户配置
1、清除全局用户配置
git config --global --unset user.name
git config --global --unset user.email
2、给新用户创建密钥对
(1)ls ~/.ssh 查看已有用户密钥对文件
(2)ssh-keygen -t rsa -c "新用户邮箱"
(3)输入新用户密钥对文件名(和已有用户的密钥对文件名不能相同),如:id_rsa_two
(4)生成新用户私钥和公钥文件(文件位置:C:\Users\Administrator\.ssh\)
3、拷贝新用户公钥文件配置到相应账号的git网站上
4、管理密钥(类似DNS功能:建立用户和密钥映射关系)
(1)创建配置文件
cd ~/.ssh
touch config
(2)编辑配置文件
vi config
添加如下信息
Host github.com 注:服务器别名(可自定义名称,但每个用户Host都不能相同)
HostName github.com 注:服务器真实地址
User 老用户名
IdentityFile ~/.ssh/id_rsa 注:老用户私钥
Host two.github.com
HostName github.com
User 新用户名
IdentityFile ~/.ssh/id_rsa_two 注:新用户私钥
5、验证配置
ssh -T git@服务器别名(上步骤的Host),下图表示成功
6、克隆项目(先执行步骤7配置项目的用户信息,然后在克隆)
git clone git@服务器别名:项目.git
7、项目配置用户信息
git config user.name "用户名"
git config user.email "用户邮箱"
8、某个提交合并到其它分支
(1)切到目标分支
git checkout target-branch
(2)合并到本地分支
git cherry-pick b8aa0b0c (# id可以全写上,也可以只用前8位)
(3)推送到远程分支
git push
二、Mac配置git
(1)创建ssh
cd .ssh
无则创建
mkdir .ssh
执行 ssh-keygen -t rsa -C git邮箱
输入文件名:id_rsa,密码无需操作直接回车
cat id_rsa.pub 获取公钥
(2)平台配置ssh
(3)创建config文件
cd ~/.ssh
touch config
open config
添加以下内容:
Host icode.baidu.com
User lpengfei
IdentityFile ~/.ssh/id_rsa
PubkeyAcceptedKeyTypes +ssh-rsa
HostKeyAlgorithms +ssh-rsa
(4)配置用户
git config --global user.name
git config --global user.email