一、提交第一行代码
情况一:创建一个新的本地存储库
git clone DEMO_URL //DEMO_URL为你的远程仓库地址,ssh或http地址
cd demo
touch README.md //创建README.md文件
git add README.md //将README.md添加到缓存区
git commit -m "add README" //将缓存区的内容(README.md)存到本地仓库
git push -u origin master //将本地仓库内容(README.md)同步到远程仓库
情况二:将本地现有文件夹连接至远程仓库
cd EXISTING_FOLDER //进入现有文件夹
git init //初始化git仓库
git remote add origin [URL] //连接远程仓库项目
git add .
git commit -m "Initial commit"
git push -u origin master
情况三:将现有的远程仓库迁移至新的远程仓库
cd EXISTING_REPO // 进入现有代码文件夹中
git remote rename origin old-origin
git remote add origin [URL] //其中[URL]为新的远程仓库
git push -u origin --all //提交所有分支
git push -u origin --tags //提交所有tag
至此你的代码在新旧远程仓库上都存在了,这时提交代码是提交到新仓库上的,如果想要同时提交到两个远程仓库上,只需修改本地.git/config文件,将"old-origin"(如下图1处)中的url复制到"origin"(如下图2处,复制完2处应该有两个url)中,随后把"old-origin"节点(如下图第1个红框内的所有内容)全部删掉,保存即可,至此就可以同时提交代码到远程仓库上了。
二:配置
1.全球配置
git config --global user.name "YOUR_NAME"
git config --global user.email YOUR.EMAIL@example.com
如果使用了--global那么更改的配置文件就是位于你用户主目录下的那个,以后你本机所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者邮箱,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
2.记住密码配置之http配置
在当前项目的 .git\config 文件里配置以下内容即可:
[credential]
helper = store
该配置仅需要在你第一次使用输入账户和密码,此后便无需输入账户和密码。
3.记住密码配置之ssh密钥对配置
①ssh使用ssh密钥对
要生成新的SSH密钥对,请使用以下命令(在Windows / GNU / Linux / macOS上的Git Bash)
ssh-keygen -t rsa -C "your.email@example.com" -b 4096
②接下来,系统将提示你输入文件路径以保存SSH密钥对。
如果你还没有SSH密钥对,请按Enter键使用建议的路径。使用建议的路径通常允许SSH客户端自动使用SSH密钥对而无需其他配置。如果你已经有了一个SSH密钥对建议的文件路径,则需要输入一个新的文件路径,并声明此SSH密钥对将在你使用什么主机.ssh/config文件。
③输入文件路径后,系统将提示输入密码以保护SSH密钥对。最好使用SSH密钥对的密码,但这不是必需的,可以通过按Enter键跳过创建密码。
注意:
如果要更改SSH密钥对的密码,可以使用:
ssh-keygen -p <keyname>
④下一步是复制公共SSH密钥,要将公共SSH密钥复制到剪贴板,请使用以下相应的代码:
苹果系统:
pbcopy < ~/.ssh/id_rsa.pub
GNU / Linux(需要xclip包):
xclip -sel clip < ~/.ssh/id_rsa.pub
Windows命令行:
type %userprofile%\.ssh\id_rsa.pub | clip
Windows / Windows PowerShell上的Git Bash:
cat ~/.ssh/id_rsa.pub | clip
或者手动复制了公共SSH密钥,打开文件路径:C:\Users\YOUR_ACCOUNT\.ssh\id_rsa.pub,复制密钥即可。如果你手动复制了公共SSH密钥,请确保从ssh-rsa开始到你的电子邮件复制整个密钥。
⑤最后一步是将公共SSH密钥添加到远程仓库gitlab、github、码云等。
导航到“配置文件设置”中的“SSH密钥”选项卡。将您的密钥粘贴到“密钥”部分,并为其指定相关的“标题”。
三、其他配置文件
.gitignore
可在.gitignore文件中配置忽略跟踪的文件,即在.gitignore中配置的文件进行git push时不会同步到远程仓库,如:
Debug
Release
bin
obj
.vs
*.user
*.suo
四、代码回滚操作
1、代码回滚到指定远程版本
git log //查看代码的修改记录
返回结果
git reset --hard 5481604d7eace63246a61b2a334fee2cbc4fe574
//代码彻底回退到指定版本,
//本地源代码也会变成回退的指定版本,
//如果想撤销此步,可再次执行该命令,将commit版本改为当前版本(最近提交commit版本)即可
2、代码中指定文件回退到指定远程版本(其他文件不回滚)
cd [PATH] //进入到想要回退的指定文件内及[PATH]
git log //查看代码提交的版本,返回结果见<1>中返回结果
git reset [commit版本号] [指定文件名] //将指定的文件代码回退到指定版本
git status //查看指定版本修改记录(该步可省略)
git diff //查看指定版本修改记录(该步可省略)
git checkout -- . //撤销指定版本的修改记录
git add .
git commit -m "回滚xx文件"
git push origin [分支名]