git攻略
1. 参考文献
2. 服务端
2.1 安装服务
# 下载
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.16.3.tar.gz
# 解压文件
tar -xvf git-2.16.3.tar.gz
# make configure 检测git是否安装
./configure --prefix=/usr/local/git
# make 安装
make install
2.2 添加用户
# 服务器创建git用户组
groupadd git
# 创建git用户组下git用户
useradd git -g git
# 设置密码
passwd gitgitmose
2.3 打开 密钥验证
vi /etc/ssh/sshd_config/
# 配置RSA认证
RSAAuthentication yes
PubkeyAuthentication yes
# 生成密钥
AuthorizedKeysFile /home/git/.ssh/authorized_keys
2.4 添加密钥文件
su - git
cd /home/git
mkdir .ssh
touch .ssh/authorized_keys
chmod 700 /home/git/.ssh
chmod 600 /home/git/.ssh/authorized_keys
# 添加链接
PATH=$PATH:$JAVA_HOME/bin:/usr/local/git/bin
ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
3. 客户端
3.1 密钥生成
# 配置个人的用户名称和电子邮件地址:
$ git config --global user.name "runoob"
$ git config --global user.email test@runoob.com
# mac
ssh-keygen -t rsa -C "YourEmal@163.cn"
# windows
ssh-keygen -t rsa
\Users\admin\.ssh这个路径下会生成两个文件:id_rsa和id_rsa.pub
拷贝公钥id_rsa.pub文件内容到服务器
3.2 初始化
- clone
# clone默认端口
git clone git@x.x.x.x:test
# clone非默认端口
git clone git@193.112.123.187:/base/server/local/data/git/test.git
- init
# 在目录中创建新的 Git 仓库
git init
3.3 pull
# 拉取最新远程代码
git pull
3.4 add
# 提交所有变化
git add -A
# 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add -u
# 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git add .
# 查看项目的当前状态。-s 参数,以获得简短的结果输出
git status
"M" 状态表示有改动
"UU"冲突
3.5 diff
# 尚未缓存的改动:
git diff
# 查看已缓存的改动:
git diff --cached
# 查看已缓存的与未缓存的所有改动:
git diff HEAD
# 显示摘要而非整个
diff:git diff --stat
3.6 commit
git commit -am "提交说明注释"
3.7 reset
- 本地
# 取消已缓存(add 添加)的内容。
git reset HEAD
# 提交一次新的更新改为上个版本
git revert
3.8 rm
# 删除已跟踪文件
git rm <file>
# 删除修改过并且已经放到暂存区域文件用强制删除选项 -f
git rm -f <file>
# 仅是从跟踪清单中删除,使用 --cached
git rm --cached <file>
# 递归删除
git rm –r *
3.9 mv
# 移动或重命名
git mv ole new
3.10 branch
# 列出分支
git branch
# 创建分支
git branch (branchname)
# HEAD指针切换分支
git checkout (branchname)
# 创建并切换新分支
git checkout -b (branchname) 命令来
# 合并到当前分支,冲突修改后add
git merge ..
git cherry-pick
# 当前分支副本合并到..
git rebase ..
# 移动分支-f
git branch -f
# 删除分支
git branch -d (branchname)
# 撤销变更
git reset
git revert
3.11 log
# 查看提交历史, --oneline 简洁版本, --graph 拓扑图
git log --oneline --graph
# --reverse 逆向显示所有日志
git log --reverse --oneline
# 查找指定用户的提交日志
git log --author=author
# 指定日期,--since 和 --before,也可以用 --until 和 --after。
# --no-merges 隐藏合并提交
git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
tag
# 给最新一次提交打上(HEAD)"v1.0"的标签
git tag -a v1.0 命令
push
#查看当前配置的远程仓库
git remote
#添加远程库
git remote add [origin] [git@url]
# 推送
git push [-u] origin master
提取远程仓库
#从远程仓库下载新分支与数据:
git fetch
#该命令执行完后需要执行git merge origin/master远程分支到你所在的分支。
#从远端仓库提取数据并尝试合并到当前分支:
git merge
#删除远程仓库
git remote rm [别名]
网友评论