ssh配置
1 2 3 4 5 6
| #使用以下命令生成 SSH Key ssh-keygen -t rsa -C "youremail@example.com" #查看生成的密钥 cat ~/.ssh/id_rsa.pub #验证是否成功 ssh -T git@github.com
|
1. git add
1 2 3 4 5 6 7 8 9 10
| #清除暂存区缓存 git rm -r --cached . #添加一个或多个文件到暂存区 git add [file1] [file2] ... #添加指定目录到暂存区 git add [dir] #添加当前目录下的所有文件到暂存区 git add . #添加当前项目文件到暂存区 git add -A
|
2. git status
1 2 3 4
| #git status 命令用于查看在你上次提交之后是否有对文件进行再次修改 git status #使用 -s 参数来获得简短的输出结果 git status -s
|
3. git diff
1 2 3 4 5 6 7 8 9 10 11
| #git diff 命令比较文件的不同,即比较文件在暂存区和工作区的差异。 #git diff 命令显示已写入暂存区和已经被修改但尚未写入暂存区文件的区别。
#尚未缓存的改动 git diff [file] #查看已缓存的改动 git diff --cached [file] #查看已缓存的与未缓存的所有改动 git diff HEAD #显示摘要而非整个diff git diff --stat
|
4. git commit
1 2 3 4 5 6
| #git commit 命令将暂存区内容添加到本地仓库中。
#提交暂存区到本地仓库中,附加备注信息 git commit -m [message] #不需要执行 git add 命令,直接来提交 git commit -a
|
5. 设置提交代码时的用户信息
1 2
| git config --global user.name [name] git config --global user.email [email]
|
6. git reset
1 2
| #git reset 命令用于回退版本,可以指定退回某一次提交的版本。 git reset [--soft | --mixed | --hard] [HEAD]
|
7. git rm
1 2 3 4 5 6
| #将文件从暂存区和工作区中删除 git rm <file> #强行从暂存区和工作区中删除修改后的 runoob.txt 文件: git rm -f runoob.txt #把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可 git rm --cached <file>
|
8. git mv
1 2 3 4
| #git mv 命令用于移动或重命名一个文件、目录或软连接 git mv [file] [newfile] #如果新文件名已经存在,但还是要重命名它,可以使用 -f 参数 git mv -f [file] [newfile]
|
9. git log - 查看历史提交记录
10. git remote
1 2 3 4 5 6 7 8 9 10 11
| #显示所有远程仓库 git remote -v #添加远程版本库 git remote add [给他取名] [url] #例子:提交到 Github git remote add origin git@github.com:tianqixin/runoob-git-test.git git push -u origin # 删除远程仓库 git remote rm name # 修改仓库名 git remote rename old_name new_name
|
11. git fetch
1 2 3 4 5 6 7
| #以上命令将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。 #然后我们在本地更新修改 git fetch origin #以上信息"0205aab..febd8ed main -> origin/main" 说明 main 分支已被更新,我们可以使用以下命令将更新同步到本地: git merge origin/main #查看 README.md 文件内容: cat README.md
|
12. git pull
1 2 3 4 5 6
| #git pull 命令用于从远程获取代码并合并本地的版本。 #git pull 其实就是 git fetch 和git merge FETCH_HEAD的简写
git pull <远程主机名> <远程分支名>:<本地分支名> #例子 git pull origin main
|
13. git push
1 2 3 4 5
| git push <远程主机名> <本地分支名>:<远程分支名> #删除主机的分支可以使用 --delete 参数,以下命令表示删除origin主机的master分支 git push origin --delete master #如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数 git push --force origin master
|
Git进阶
1. 上传后打不开文件夹(出现白箭头)
这是因为其他工程下有.git文件,Github视其为子系统模块。
删除文件夹下的.git文件即可
1 2 3 4
| git rm --cached <File Name> git add . git commit -m "delete .git" git push
|
2. 克隆dev分支并合并到main分支
1 2 3 4 5 6 7 8 9 10 11 12 13
| # 拉取指定分支 git clone -b dev [git仓库地址] # 为了保险起见,可以将远程master分支pull下来 git pull # 切换到main分支 git checkout main # 将分支代码合并到main上 git merge dev git merge master --allow-unrelated-histories # 在本地合并分支,我们还要将主分支推到远程仓库 git push origin
|
附: