1. git clone
仓库代码克隆到本地
git clone http://greyluo@192.168.2.19:1213/r/~greyluo/BMW_Test.git -b 分支名
2. git branch
查看本地分支
git branch
查看远程分支
git branch -r
查看所有的分支,包含本地和远程
git branch -a
创建新的分支
git branch <新分支名称> // 基于当前分支创建新的分支
git branch mas_20230904_1
删除分支
git branch -d <分支名称>
删除远程仓库分支
git push origin --delete <分支名称>
3. git checkout
切换分支
git checkout mas_20230904_1
创建新的分支并切换到新分支
git checkout -b <新分支名>
恢复本地修改
git checkout ./
4. git merge
合并分支
假设当前所在分支为 master,将 mas_20230904_1 分支合并到 master 分支
git merge mas_20230904_1
直接以某个分支为基准解决冲突
git merge -X theirs source-branch
5. git remote
查询远程仓库信息
git remote show <仓库名称>
查询远程仓库URL地址
git remote -v
关联一个远程仓库
git remote add <仓库名称> <远程仓库URL>
git remote add up http://greyluo@192.168.2.19:1213/r/BMW_NA6.git
git pull up
git checkout --track up/xxx -b xxx
git checkout --track up/develop -b dev_1219
git push origin xxx
6. git status
查看仓库当前状态
git status
7. git add
将修改内容暂存到暂存区
git add xxx.c xxx.h
8.git commit
将暂存区的修改内容提交到仓库中
git commit -m “xxxxx”
9. git push
将修改推送到远程仓库
git push origin
将本地新建分支推送到远端仓库
git push -u origin new_branch_name
10. git reset
回退已经commit的修改,并在本地保留修改
git reset --soft HEAD^
git reset --soft
回退已经commit的修改,并且丢弃本地的修改
git reset --hard HEAD^
git reset --hard
11. git revert
git revert是一个用于撤销提交的命令,它创建一个新的提交来撤销之前的提交。与git reset不同,git revert不会更改HEAD指针的位置,而是创建一个新的提交来撤销之前的更改,之前的提交内容将被保存在Git仓库中。
git revert
12. git reset
撤销git add操作
git reset xxx.c
13. git clean
清除未跟踪的文件
git clean -f
25. git 配置用户名和邮箱
#配置用户名
git config --global user.name “test”
#配置邮箱
git config --global user.email abc@163.com
26. git 查询配置
git config --list
git config --global --list
27. git clone对于http和ssh的选择
SSH 方式的优点在于, 当用户在个人设置中设置好 SSH Key 以后,每次使用 SSH 连接远端仓库均不需要再进行任何人工的认证方式。但是使用 SSH 方式对于用户有一定的技术 要求, 用户必须自己生成 SSH Key 并完成配置。
相比之下 HTTP 方式更适合新手和不熟悉操作系统的用户, 不需要生成并设置 SSH Key。 但是在使用 HTTPS 方式连接远端仓库时,每次连接都需要输入账户名和密码进行身份认证。
28. 设置SSH key
当使用 Linux 或 MacOS 系统时,系统会默认安装 ssh 相关组件。此时, SSH Key 存在于家目录下的 .ssh 目录下。当使用 Windows 操作系统时,需要安装 Git Bash, 文中提到的所有命令需要在 Git Bash 中输入。
获取 ssh 步骤:
(1) 在 gitbash 终端:
ls -al ~/.ssh
(2) 如果目录中包含 id_rsa.pub 或 id_dsa.pub 文件时, 则不需要新产生 SSH Key; 否则, 需要手动生成 SSH Key。在终端输入以下命令可以生成 SSH Key:
ssh-keygen -t rsa -C "name or comment"
// name可以是邮箱
(3) 此时, ~/.ssh 目录下应该会新增一个名为 id_rsa.pub 的文件, 这个文件里面存储的就是 SSH Key。在终端输入以下命令可以查看 SSH Key 内容。
cat ~/.ssh/id_rsa.pub
(4) 将获取到的 ssh key 的内容添加到 ssh key 设置页面
29. 保存用户名和密码
永久保存
git config --global credential.helper store
临时保存,默认15分钟
git config --global credential.helper cache
保存1个小时
git config credential.helper ‘cache –timeout=3600’
取消本地缓存用户名和密码的安全策略
git config --global credential.helper wincred
清除缓存的用户名和密码
git credential-manager uninstall
另外我们注意到http模式下.gitconfig 文件是配置的记录文件,也就是说直接删除这个文件就能达到上述命令的效果。
1.查看目前 Git 使用的策略所在目录
git config --show-origin --get credential.helper
2.找到后可以直接删除
如果是ssh模式通过命令ssh-keygen -p重置覆盖就可以了,当然这个命令也会直接提示密钥的位置,找到删除就可以了。
30. git cherry-pick
git checkout -b xxx_branch
git cherry-pick commit-id
(如果有冲突,先解决冲突)
git add xxx
git cherry-pick --continue
git push --set-upstream origin xxx_branch