导读:Git操作笔记.基础应用.简单使用.创建仓库.# 1. 在git/gitee上创建远程仓库.# 2. 在本地创建仓库并连接远程仓库.mkdir snippets.cd snippets.git init.touch README.md.git add README.md.git
# 1. 在git/gitee上创建远程仓库
# 2. 在本地创建仓库并连接远程仓库
mkdir snippets
cd snippets
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/Young_jam/snippets.git
git push -u origin "master"
# 2.5 或者连接本地已有仓库
cd existing_git_repo
git remote add origin https://gitee.com/Young_jam/snippets.git
git push -u origin "master"
git init
初始化新仓库
git add [file/.]
添加[新文件/所有文件]到暂存
git commit -m "xxx"
提交修改到本地版本库并附加提交信息
git commit -F file
使用文件内容作为提交信息
git commit --reuse-message <commit-id>
使用之前某次(由 commit-id 确定)提交的 message 作为本次提交的 message
* `-C <commit>` 作用同上
git commit --reedit-message=<commmit>
作用同上,但是调用编辑器允许修改提交信息
* `-c <commit>` 作用同上
git commit --amend
修改上次的提交信息
git push
同步到远程仓库,默认推送本地分支到有跟踪关系(通常是同名)的远程分支
git push [-f] origin a:b
将本地 a 分支的内容推送到远程 b 分支,如果 b 分支有不同的提交历史,需要使用 -f
选项强制覆盖git pull
同步远程仓库到本地
git clone httpS://git.xxxx
复制远程仓库到本地
git status
查看仓库信息
git log [-N]
查看仓库提交日志
git log [-p] filename
查看单个文件的修改记录,-p
选项查看具体的修改内容# 设置全局用户
git config --global user.name "xxxx"
git config --global user.email "xxxx@xxx"
# 设置git编辑器为vim
git config --global core.editor vim
# 设置git支持x显示中文路径
git config --global core.quotepath false
配置git push
时免密码
本地主机创建ssh秘钥
ssh-keygen -t rsa -C "[email protected]"
打开gitee的个人设置,在安全设置–ssh 公钥
中添加id_rsa.pub
中的内容
如果配置远程仓库时使用的https地址,则需要修改为ssh
git remote -v # 查看远程仓库地址,如果是https开头,则需要改为ssh
git remote set-url origin [email protected]:yangjam_tm/coding.git
git强制远程覆盖本地
# 1. 拉取远程更新
git fetch –all
git reset –hard origin/master
git pull origin master
删除未跟踪的文件
# 查看未跟踪文件
git clean -n
git clean -f
取消跟踪文件
git rm --cached readme1.txt # 删除readme1.txt的跟踪,并保留在本地。
git rm –f readme1.txt # 删除readme1.txt的跟踪,并且删除本地文件
本地 git 回退到指定版本
# git log 查看特定版本的commit sha码
git reset –hard [961ca2d2f45a28b962e293a10b11a8f7ab4e4777]
撤销提交
git reset --soft HEAD~1
git reset –mixed HEAD~1
修改已经 push 到远程的 commit 信息
# 本地同步到远程已经提交的版本
git commit –amend -m “” # git commit –amend -F log.txt
git push –force
我在本地主分支上修改了代码,但是不想提交到主分支,而是提交到一个新的远程分支
# 1. 先创建一个新的本地分支
git checkout -b new_branch
git branch
master * new_branch # 表明新分支已经创建,且切换到了该分支上
3. 在该分支上提交代码
4. 将该分支推到远程
git push origin new_branch:remote_new_branch
我要拉取远程的子分支到本地,然后将修改合并到主分支,然后删除子分支
# 0. 查看所有分支
git branch -a
git fetch origin remote_new_branch:temp # 拉取remote_new_branch到本地并命名为temp
git diff temp
git merge temp # 如果存在冲突,需要处理冲突
git branch -D temp git push origin –delete remote_new_branch
将本地分支的内容推送到远程的两个不同分支
# 1. 查看本地所处分支和所有远程分支
git branch -a
git psush
git checkout b
git merge a
git push
将分支的某次修改同步到主干/另一分支
git log # 查看修改的commit-id
git checkout xxxx # 切换到需要同步修改的分支 git cherry-pick commit-id # 将修改合并到该分支
git push
上一篇:山河大学:一所跨越山河,笑对未来
下一篇:设计模式(四)建造者