钩子:
gitdir=$(git rev-parse --git-dir); scp -p -P 29418 姓名
@xxx.xxx.xxx.xxx:hooks/commit-msg ${gitdir}/hooks/
一 、设置Git的user name和email:
$ git config --global user.name “user name"
$ git config --global user.email “your email”
二、生成SSH密钥过程:
生存密钥:
$ ssh-keygen -t rsa -C “your email”
按3个回车,密码为空。
Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is
得到了两个文件:id_rsa和id_rsa.pub;位于~/.ssh目录下
三、添加ssh密钥
- 这要添加的是“id_rsa.pub”里面的公钥将id_rsa.puh中的内容复制到git服务器
四、复制代码:
1、clone代码 git clone git@xxxxx.git
git 常用命令
checkout 切换分支
branch 创建分支
fetch 拉取分支
merge 合并分支
pull 拉取分支,相当于fetech + merge
push 推送分支
命令不要从这里复制,可能有中文符号!!!自己敲
- 1、更新代码
git pull —rebase
- 如果有冲突,解决冲突,然后:
git add . git rebase —continue
- 2、提交本地A分支代码到远端A分支
git push origin A
- 3、提交本地分支A到远端分支B(前提是本地分支A已经关联到远端分支B)
git push origin A:refs/for/B - 4、************新建并切换到分支A,同时将A关联到远端分支B************
git checkout -b A -t origin/B
- 5、已经建立分支A,想A关联到远端分支C
git branch --track A origin/C 或者 git branch --set-upstream-to origin/C (经切换到分支A)
- 6、本地分支A已经关联到远端分支,解除关联
git branch --unset-upstream A
` 7、删除远程分支A
git push origin :A
或者
git push origin --delete A
或者
``git branch -d -r A (-d -r两个参数都不能少)``` - 8、删除本地分支A
git branch -D A
- 9、重命名分支A为B
git branch -m | -M A B (重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名)
- 10、打tag,
例如tag名为:demo_v2.1.2 git tag -a demo_v2.1.2 -m “创建tag demo_v2.1.2”
- 11、显示tag
git tag
- 12、gi获取远程tag qjs_v2.1.2
git fetch origin qjs_v2.1.2
- 13、推送tag到远端 git push tags (所有tag)
git push origin qjs_v2.1.2 (只推送qjs_v2.1.2)
- 14、删除tag qjs_v1.0
git push origin --delete tag qjs_v1.0 (删除远程)
git tag -d qjs_v1.0 (删除本地)
- 15、回滚已经commit的内容
git log查看需要回滚到那个版本,复制commit id
git reset --hard [commit id]
- 16、回滚已经add,未commit的内容
git checkout . (回滚所有)
或者
git checkout [file1] (回滚file1)
- 17、回滚未add的文件
git clean .(所有的)
单个文件可直接用rm命令 - 18、本地分支和远程分支同步(当远程分支有新建或删除)
git fetch -p
- 19、将A分支的一个或者几个commit,合并到B分支
git checkout B
然后
git cherry-pick <A-commit-id>
或
git cherry-pick <A-start-commit-id>..<A-end-commit-id>
或
git cherry-pick <A-start-commit-id>^..<A-end-commit-id>
后两种情况说明:
前者表示把<start-commit-id>到<end-commit-id>之间(左开右闭,不包含start-commit-id)的提交cherry-pick到当前分支;
后者表示把<start-commit-id>到<end-commit-id>之间(闭区间,包含start-commit-id)的提交cherry-pick到当前分支。
其中,<start-commit-id>在时间上必须早于<end-commit-id> - 20.可以通过”git config --list”命令来查看你的设置
- 21.git log --pretty=oneline --abbrev-commit 查看版本历史列表
- 22.git reflog 查看提交过的所有文档
网友评论